netfilter: nfnetlink_queue: hold nfnl mutex in event notifier
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 5.10.271, 5.15.222, 6.1.189, 6.6.158, 6.12.112, and 2 more
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
In the Linux kernel, the following vulnerability has been resolved: netfilter: nfnetlink_queue: hold nfnl mutex in event notifier We must serialize the release notifier and the config netlink function. A concurrent thread can issue close() which can call the release function while unrelated socket processes UNBIND request for same portid: Oops: general protection fault, [..] RIP: 0010:__instance_destroy+0x60/0x210 [nfnetlink_queue] Call Trace: nfqnl_recv_config+0x9b0/0xdc0 [nfnetlink_queue] nfnetlink_rcv_msg+0x7c2/0xeb0 ? __pfx_nfnetlink_rcv_msg+0x10/0x10 After this, parallel UNBIND and URELEASE events are impossible. This change isn't nice, but its the shortest fix given instances are not refcounted and the nfnetlink config callback drops the rcu read lock early due to need for sleeping allocations.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 7af4cc3fa158ff1dda6e7451c7e6afa6b0bb85cb · fixed in 46432f2e76f7c385d82506304a2928e7d293289f; From 7af4cc3fa158ff1dda6e7451c7e6afa6b0bb85cb · fixed in 597320337c3da06c92a9e95cfc755da66fedc476; From 7af4cc3fa158ff1dda6e7451c7e6afa6b0bb85cb · fixed in 2e9be1302f25c9be51c2fb8c907bc6d8a1050e33; From 7af4cc3fa158ff1dda6e7451c7e6afa6b0bb85cb · fixed in d559e06a5ab7c064100aafd5c826eadd0f1c6216; From 7af4cc3fa158ff1dda6e7451c7e6afa6b0bb85cb · fixed in 1d1184411599a7c2217560bab3bbe641c6d03b95; From 7af4cc3fa158ff1dda6e7451c7e6afa6b0bb85cb · fixed in 07a3ec8fdc5a1267c00cd6fd1cf8bbb5cda913c1; From 7af4cc3fa158ff1dda6e7451c7e6afa6b0bb85cb · fixed in 8137a39e08e838ced234044384740ceeb99ed388; From 7af4cc3fa158ff1dda6e7451c7e6afa6b0bb85cb · fixed in 9461613afc59acef44a0071b0dd5075f6e993ffe
- Linux Linux
2.6.14
- KernelLinux
From 2.6.14 · fixed in 5.10.271; From 5.11.0 · fixed in 5.15.222; From 5.16.0 · fixed in 6.1.189; From 6.2.0 · fixed in 6.6.158; From 6.7.0 · fixed in 6.12.112; From 6.13.0 · fixed in 6.18.55; From 6.19.0 · fixed in 7.2.9
References 8
git.kernel.org
- stable/c/46432f2e76f7c385d82506304a2928e7d293289f
- stable/c/597320337c3da06c92a9e95cfc755da66fedc476
- stable/c/2e9be1302f25c9be51c2fb8c907bc6d8a1050e33
- stable/c/d559e06a5ab7c064100aafd5c826eadd0f1c6216
- stable/c/1d1184411599a7c2217560bab3bbe641c6d03b95
- stable/c/07a3ec8fdc5a1267c00cd6fd1cf8bbb5cda913c1
- stable/c/8137a39e08e838ced234044384740ceeb99ed388
- stable/c/9461613afc59acef44a0071b0dd5075f6e993ffe