Bluetooth: ISO: fix malformed ISO_END/CONT handling
- 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 6.1.189, 6.6.158, 6.12.111, 6.18.53, 7.1.5
- 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: ISO: fix malformed ISO_END/CONT handling Core specification (Part C vol 4 sec 5.4.5) does not exclude empty ISO_CONT, ISO_END packets. We currently reject them if they are last. If controller sends malformed sequence ISO_START -> rx_len = 4, ISO_CONT skb->len 4, ISO_START that ends payload in ISO_CONT, we leak conn->rx_skb. If controller sends too long ISO_END, we panic on skb_put. If controller sends too short ISO_END we accept it. Fix by marking unfinished ISO_START via conn->rx_skb != NULL. Check skb->len properly before skb_put. Combine the ISO_CONT/END code paths as they require the same initial checks. Reject too short ISO_END packets.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: total
- Record last updated
Affected versions
- Linux Linux
From ccf74f2390d60a2f9a75ef496d2564abb478f46a · fixed in d2df29dc9abda2fc10ff522eac0969f5b77b3637; From ccf74f2390d60a2f9a75ef496d2564abb478f46a · fixed in 7250b6b5ba9b737cff2c2c1d0760360c7b6bca00; From ccf74f2390d60a2f9a75ef496d2564abb478f46a · fixed in 49aeb54e3c912ef785311264a51ab9f3698e421b; From ccf74f2390d60a2f9a75ef496d2564abb478f46a · fixed in 5e53e285f8c989662e34d4938c728a94226bff34; From ccf74f2390d60a2f9a75ef496d2564abb478f46a · fixed in 990e65eb9387c4ddfa7f68782b6644c2c35d489f; From ccf74f2390d60a2f9a75ef496d2564abb478f46a · fixed in e054c1a6ae7310d2815778fddb87da616e11c255
- Linux Linux
6.0
- KernelLinux
From 6.0.0 · fixed in 6.1.189; From 6.2.0 · fixed in 6.6.158; From 6.7.0 · fixed in 6.12.111; From 6.13.0 · fixed in 6.18.53; From 6.19.0 · fixed in 7.1.5