Bluetooth: L2CAP: handle NULL sock pointer in l2cap_sock_alloc
- 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.4.291, 5.10.235, 5.15.179, 6.1.129, 6.6.78, 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: Bluetooth: L2CAP: handle NULL sock pointer in l2cap_sock_alloc A NULL sock pointer is passed into l2cap_sock_alloc() when it is called from l2cap_sock_new_connection_cb() and the error handling paths should also be aware of it. Seemingly a more elegant solution would be to swap bt_sock_alloc() and l2cap_chan_create() calls since they are not interdependent to that moment but then l2cap_chan_create() adds the soon to be deallocated and still dummy-initialized channel to the global list accessible by many L2CAP paths. The channel would be removed from the list in short period of time but be a bit more straight-forward here and just check for NULL instead of changing the order of function calls. Found by Linux Verification Center (linuxtesting.org) with SVACE static analysis tool.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From f6ad641646b67f29c7578dcd6c25813c7dcbf51e · fixed in a9a7672fc1a0fe18502493936ccb06413ab89ea6; From daa13175a6dea312a76099066cb4cbd4fc959a84 · fixed in 8e605f580a97530e5a3583beea458a3fa4cbefbd; From a8677028dd5123e5e525b8195483994d87123de4 · fixed in cf601a24120c674cd7c907ea695f92617af6abd0; From bb2f2342a6ddf7c04f9aefbbfe86104cd138e629 · fixed in 297ce7f544aa675b0d136d788cad0710cdfb0785; From 8ad09ddc63ace3950ac43db6fbfe25b40f589dd6 · fixed in 245d48c1ba3e7a1779c2f4cbc6f581ddc8a78e22; From 61686abc2f3c2c67822aa23ce6f160467ec83d35 · fixed in 691218a50c3139f7f57ffa79fb89d932eda9571e; From 7c4f78cdb8e7501e9f92d291a7d956591bf73be9 · fixed in 49c0d55d59662430f1829ae85b969619573d0fa1; From 7c4f78cdb8e7501e9f92d291a7d956591bf73be9 · fixed in 5f397409f8ee5bc82901eeaf799e1cbc4f8edcf1; From 5.4.287 · fixed in 5.4.291; From 5.10.231 · fixed in 5.10.235; From 5.15.174 · fixed in 5.15.179; From 6.1.120 · fixed in 6.1.129; From 6.6.66 · fixed in 6.6.78; From 6.12.5 · fixed in 6.12.14
- Linux Linux
6.13
- KernelLinux
fixed in 5.4.291; From 5.5.0 · fixed in 5.10.235; From 5.11.0 · fixed in 5.15.179; From 5.16.0 · fixed in 6.1.129; From 6.2.0 · fixed in 6.6.78; From 6.7.0 · fixed in 6.12.14; From 6.13.0 · fixed in 6.13.3
References 8
git.kernel.org
- stable/c/a9a7672fc1a0fe18502493936ccb06413ab89ea6
- stable/c/8e605f580a97530e5a3583beea458a3fa4cbefbd
- stable/c/cf601a24120c674cd7c907ea695f92617af6abd0
- stable/c/297ce7f544aa675b0d136d788cad0710cdfb0785
- stable/c/245d48c1ba3e7a1779c2f4cbc6f581ddc8a78e22
- stable/c/691218a50c3139f7f57ffa79fb89d932eda9571e
- stable/c/49c0d55d59662430f1829ae85b969619573d0fa1
- stable/c/5f397409f8ee5bc82901eeaf799e1cbc4f8edcf1