| From bippy-7c5fe7eed585 Mon Sep 17 00:00:00 2001 |
| From: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| To: <linux-cve-announce@vger.kernel.org> |
| Reply-to: <cve@kernel.org>, <linux-kernel@vger.kernel.org> |
| Subject: CVE-2025-21909: wifi: nl80211: reject cooked mode if it is set along with other flags |
| |
| Description |
| =========== |
| |
| In the Linux kernel, the following vulnerability has been resolved: |
| |
| wifi: nl80211: reject cooked mode if it is set along with other flags |
| |
| It is possible to set both MONITOR_FLAG_COOK_FRAMES and MONITOR_FLAG_ACTIVE |
| flags simultaneously on the same monitor interface from the userspace. This |
| causes a sub-interface to be created with no IEEE80211_SDATA_IN_DRIVER bit |
| set because the monitor interface is in the cooked state and it takes |
| precedence over all other states. When the interface is then being deleted |
| the kernel calls WARN_ONCE() from check_sdata_in_driver() because of missing |
| that bit. |
| |
| Fix this by rejecting MONITOR_FLAG_COOK_FRAMES if it is set along with |
| other flags. |
| |
| Found by Linux Verification Center (linuxtesting.org) with Syzkaller. |
| |
| The Linux kernel CVE team has assigned CVE-2025-21909 to this issue. |
| |
| |
| Affected and fixed versions |
| =========================== |
| |
| Issue introduced in 2.6.26 with commit 66f7ac50ed7cc5c19a62bc97e8f6e7891004a03a and fixed in 5.4.291 with commit 5ea856d93794c4afa5542defd8c61f2708dc245a |
| Issue introduced in 2.6.26 with commit 66f7ac50ed7cc5c19a62bc97e8f6e7891004a03a and fixed in 5.10.235 with commit 351eb7ac53ff1cd94d893c0c4534ced2f36ae7d7 |
| Issue introduced in 2.6.26 with commit 66f7ac50ed7cc5c19a62bc97e8f6e7891004a03a and fixed in 5.15.179 with commit cd1bdcb77fdc03c253137e55bae10551b3481461 |
| Issue introduced in 2.6.26 with commit 66f7ac50ed7cc5c19a62bc97e8f6e7891004a03a and fixed in 6.1.131 with commit 236f41ca728f23210b31ed2d1d8a6df575a4b2d6 |
| Issue introduced in 2.6.26 with commit 66f7ac50ed7cc5c19a62bc97e8f6e7891004a03a and fixed in 6.6.83 with commit ebebbb0eded2ed9a1abfa31962f6fb699e6abce7 |
| Issue introduced in 2.6.26 with commit 66f7ac50ed7cc5c19a62bc97e8f6e7891004a03a and fixed in 6.12.19 with commit 521e55c2b0d6028861ac0a2d06aa57bb0e3ac486 |
| Issue introduced in 2.6.26 with commit 66f7ac50ed7cc5c19a62bc97e8f6e7891004a03a and fixed in 6.13.7 with commit ac4860141300581d3e2f6c6dafa37220f7ea9f65 |
| Issue introduced in 2.6.26 with commit 66f7ac50ed7cc5c19a62bc97e8f6e7891004a03a and fixed in 6.14 with commit 49f27f29446a5bfe633dd2cc0cfebd48a1a5e77f |
| |
| Please see https://www.kernel.org for a full list of currently supported |
| kernel versions by the kernel community. |
| |
| Unaffected versions might change over time as fixes are backported to |
| older supported kernel versions. The official CVE entry at |
| https://cve.org/CVERecord/?id=CVE-2025-21909 |
| will be updated if fixes are backported, please check that for the most |
| up to date information about this issue. |
| |
| |
| Affected files |
| ============== |
| |
| The file(s) affected by this issue are: |
| net/wireless/nl80211.c |
| |
| |
| Mitigation |
| ========== |
| |
| The Linux kernel CVE team recommends that you update to the latest |
| stable kernel version for this, and many other bugfixes. Individual |
| changes are never tested alone, but rather are part of a larger kernel |
| release. Cherry-picking individual commits is not recommended or |
| supported by the Linux kernel community at all. If however, updating to |
| the latest release is impossible, the individual changes to resolve this |
| issue can be found at these commits: |
| https://git.kernel.org/stable/c/5ea856d93794c4afa5542defd8c61f2708dc245a |
| https://git.kernel.org/stable/c/351eb7ac53ff1cd94d893c0c4534ced2f36ae7d7 |
| https://git.kernel.org/stable/c/cd1bdcb77fdc03c253137e55bae10551b3481461 |
| https://git.kernel.org/stable/c/236f41ca728f23210b31ed2d1d8a6df575a4b2d6 |
| https://git.kernel.org/stable/c/ebebbb0eded2ed9a1abfa31962f6fb699e6abce7 |
| https://git.kernel.org/stable/c/521e55c2b0d6028861ac0a2d06aa57bb0e3ac486 |
| https://git.kernel.org/stable/c/ac4860141300581d3e2f6c6dafa37220f7ea9f65 |
| https://git.kernel.org/stable/c/49f27f29446a5bfe633dd2cc0cfebd48a1a5e77f |