Bluetooth: L2CAP: Fix accepting multiple L2CAP_ECRED_CONN_REQ
- 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.253, 5.15.203, 6.1.167, 6.6.130, 6.12.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
- Exploitation: none
- Automatable: no
- Technical impact: total
Summary
In the Linux kernel, the following vulnerability has been resolved: Bluetooth: L2CAP: Fix accepting multiple L2CAP_ECRED_CONN_REQ Currently the code attempts to accept requests regardless of the command identifier which may cause multiple requests to be marked as pending (FLAG_DEFER_SETUP) which can cause more than L2CAP_ECRED_MAX_CID(5) to be allocated in l2cap_ecred_rsp_defer causing an overflow. The spec is quite clear that the same identifier shall not be used on subsequent requests: 'Within each signaling channel a different Identifier shall be used for each successive request or indication.' https://www.bluetooth.com/wp-content/uploads/Files/Specification/HTML/Core-62/out/en/host/logical-link-control-and-adaptation-protocol-specification.html#UUID-32a25a06-4aa4-c6c7-77c5-dcfe3682355d So this attempts to check if there are any channels pending with the same identifier and rejects if any are found.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: total
- Record last updated
Affected versions
- Linux Linux
From 15f02b91056253e8cdc592888f431da0731337b8 · fixed in 10a7a702542240d5edb2b39450ac951c59ccd009; From 15f02b91056253e8cdc592888f431da0731337b8 · fixed in 46e5b71666fb7652082e4e214a3365f4b14f1dc3; From 15f02b91056253e8cdc592888f431da0731337b8 · fixed in fb4a3a26483f3ea2cd21c7a2f7c45d5670600465; From 15f02b91056253e8cdc592888f431da0731337b8 · fixed in 2124d82fd25e1671bb3ceb37998af5aae5903e06; From 15f02b91056253e8cdc592888f431da0731337b8 · fixed in 6b949a6b33cbdf621d9fc6f0c48ac00915dbf514; From 15f02b91056253e8cdc592888f431da0731337b8 · fixed in 8d0d94f8ba5b3a0beec3b0da558b9bea48018117; From 15f02b91056253e8cdc592888f431da0731337b8 · fixed in e72ee455297b794b852e5cea8d2d7bb17312172a; From 15f02b91056253e8cdc592888f431da0731337b8 · fixed in 5b3e2052334f2ff6d5200e952f4aa66994d09899
- Linux Linux
5.7
- KernelLinux
From 5.7.0 · fixed in 5.10.253; From 5.11.0 · fixed in 5.15.203; From 5.16.0 · fixed in 6.1.167; From 6.2.0 · fixed in 6.6.130; From 6.7.0 · fixed in 6.12.78; From 6.13.0 · fixed in 6.18.20; From 6.19.0 · fixed in 6.19.10
References 8
git.kernel.org
- stable/c/10a7a702542240d5edb2b39450ac951c59ccd009
- stable/c/46e5b71666fb7652082e4e214a3365f4b14f1dc3
- stable/c/fb4a3a26483f3ea2cd21c7a2f7c45d5670600465
- stable/c/2124d82fd25e1671bb3ceb37998af5aae5903e06
- stable/c/6b949a6b33cbdf621d9fc6f0c48ac00915dbf514
- stable/c/8d0d94f8ba5b3a0beec3b0da558b9bea48018117
- stable/c/e72ee455297b794b852e5cea8d2d7bb17312172a
- stable/c/5b3e2052334f2ff6d5200e952f4aa66994d09899