Linux kernel CAM table denial-of-service vulnerability

Summary


An exploitable denial-of-service vulnerability exists in the Linux kernel prior to mainline 5.3. An attacker could exploit this vulnerability by triggering AP to send IAPP location updates for stations before the required authentication process has completed. This could lead to different denial-of-service scenarios, either by causing CAM table attacks, or by leading to traffic flapping if faking already existing clients in other nearby APs of the same wireless infrastructure. An attacker can forge Authentication and Association Request packets to trigger this vulnerability.


Tested Versions


Linux 4.14.98-v7+


Product URLs


https://www.kernel.org


CVSSv3 Score


7.4 - AV:A/AC:L/PR:N/UI:N/S:C/C:N/I:N/A:H


CWE


CWE-440 - Expected Behavior Violation


Details


The Linux kernel will send Inter-Access Point Protocol(IAPP) location updates to support roaming, allowing clients to seamlessly go from one access point to another. However, upon receipt of an Authentication and AssociationRequest packet, Linux will send a broadcast packet with the MAC address of the connecting station to the LAN. This packet is sent before the station has successfully authenticated. The kernel provides a helper fuction for drivers cfg80211_send_layer2_update() that provides this functionality. Drivers call this function when a new station entry is added (before full authentication is completed) in ieee80211_add_station().


An attacker could iterate through a large set of unique MAC addresses to trigger DoS attacks within the upstream network infrastructure. A number of different denial-of-service attacks could be performed by an unauthenticated attacker, for example: an attacker could use this vulnerability to flood a switch with a large number of MAC addresses, ..

Support the originator by clicking the read the rest link below.