How the NAV Can Break Wi-Fi
What Is NAV?
NAV (Network Allocation Vector) is a virtual carrier-sensing mechanism in Wi‑Fi that helps a device determine how long the wireless medium is expected to remain reserved for an ongoing or upcoming transmission exchange. A STA uses the Duration/ID field in received MAC frames to set or update its NAV. While the NAV timer is running, the STA considers the medium reserved and defers contention for new transmissions.
Normal Uses
- Unicast Transmission and ACK: When a device transmits a unicast frame and expects an ACK, the duration information can reserve the medium for the expected frame exchange. Other devices use this information to defer transmission during the reserved period.
- RTS/CTS and A-MPDU Transmission: Before transmitting a large A-MPDU, a device may send an RTS with a duration that covers the expected exchange, including CTS → A-MPDU → BlockAck and SIFS. Other devices receiving the reservation information set their NAV accordingly and defer access to the medium for the duration of the exchange.
- Mobile Hotspot / Concurrent Client + AP Operation: Some mobile hotspot implementations operate as both a Wi‑Fi client and an AP and need to switch between these roles. For example, while operating as an AP, the device may transmit a CTS-to-self frame with an appropriate duration to reserve the medium on its AP channel. It can then temporarily switch to its client role to perform its own transmission/reception and return to AP operation before the reserved period expires. This allows the device to coordinate its use of the radio across its different roles. The reservation does not grant it access to a different client channel.
NAV Update Rules
- Maximum Duration Value: The Duration/ID field is 16 bits. For ordinary duration values, the highest bit is 0, leaving 15 bits for the duration. The maximum value is 32,767 µs.
-
Updating the NAV Timer: Under the normal NAV update rules, if a device is
already counting down its NAV and receives a frame containing a shorter duration than the
remaining NAV, it does not shorten the existing NAV. If the received duration is longer
than its current NAV, it updates the applicable NAV to the new duration. For example:
Current NAV remaining: 5 ms
Received duration: 2 ms
Result: NAV remains at 5 ms
If the received duration is 7 ms, NAV is updated to 7 ms. - Releasing the Reserved Medium Early: A station holding a TXOP may send a CF-End frame to indicate early completion. Receivers can reset the relevant NAV and resume contention when channel-access conditions permit.
Misusing NAV
Devices can update their NAV even when a received frame comes from another BSS, not just their own. CTS control frames are not Protected, so their receiver address and duration information can be spoofed.
A single CTS frame can advertise a duration of up to 32.767 ms. On its own, this only causes temporary deferral because the NAV eventually counts down to zero.
The interesting part is when an attacker continuously refreshes the NAV.
In my experiment, the transmitter and the affected AP were separate devices. I first transmitted a CTS-to-self with a 32 ms Duration value, then scheduled another one 20 ms later with the same duration. At that spacing, a device that accepted the first frame would have about 12 ms remaining on its NAV, but the new frame would reserve the medium for another 32 ms. I repeated this process continuously, with a configured interval of 20 ms between submissions.
Because each new duration is greater than the device's current remaining NAV, the device keeps extending its NAV instead of allowing it to reach zero. In other words, it does not get an opportunity to contend for the channel while this continues.
This can also prevent an affected AP from getting access to the medium to transmit beacons. In my experiment, after around 10 to 20 seconds, the connected clients disconnected and started moving to another band.
I then repeated the same experiment on other channels in other bands. Once the CTS-to-self transmissions were running on all the tested channels, the clients lost connectivity completely and did not reconnect until I stopped transmitting.
This demonstrates how the NAV mechanism, although designed to coordinate access to the wireless medium, can potentially be abused to create a continuous channel reservation and a Wi‑Fi denial-of-service condition.
— Gopi Raga