Description
In the Linux kernel, the following vulnerability has been resolved: Bluetooth: ISO: drop ISO_END frames received without prior ISO_START ISO data PDUs carry a packet-boundary flag indicating START, CONT, END or SINGLE. The ISO_CONT branch of iso_recv() guards against a missing ISO_START by checking conn->rx_len before touching conn->rx_skb, but ISO_END does not. If a peer sends an ISO_END as the first packet on a fresh ISO connection, conn->rx_skb is still NULL and conn->rx_len is zero, so skb_put(conn->rx_skb, ...) dereferences NULL and oopses. For BIS, where receivers sync to a broadcaster without pairing, any broadcaster on the air can trigger this. Mirror the ISO_CONT check at the top of ISO_END so a stray end fragment is logged and dropped instead of crashing the host.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
ccf74f2390d60a2f9a75ef496d2564abb478f46a to < 1c3d1e1696b72579b970e17999c503a14535205baffectedccf74f2390d60a2f9a75ef496d2564abb478f46a to < 3af41ee7ebecb0d5c8a504861f6cfad31345310faffectedccf74f2390d60a2f9a75ef496d2564abb478f46a to < 39f4a82e80c8f5ed2d6952d73fbafc895721a728affectedccf74f2390d60a2f9a75ef496d2564abb478f46a to < 61f2410a96dee808029e2ae4d6ef2dd635f3477faffectedccf74f2390d60a2f9a75ef496d2564abb478f46a to < e3a799881c12d27596232636a607e2e3fa448d63affectedccf74f2390d60a2f9a75ef496d2564abb478f46a to < 84c24fb151fc1179355296d7ff29129ac7c42129affected
Linux Linux
Default version status: affected
6.0affected0 to < 6.0unaffected6.1.175 to ≤ 6.1.*unaffected6.6.142 to ≤ 6.6.*unaffected6.12.92 to ≤ 6.12.*unaffected6.18.34 to ≤ 6.18.*unaffected7.0.11 to ≤ 7.0.*unaffected7.1 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/1c3d1e1696b72579b970e17999c503a14535205b ↗
- https://git.kernel.org/stable/c/3af41ee7ebecb0d5c8a504861f6cfad31345310f ↗
- https://git.kernel.org/stable/c/39f4a82e80c8f5ed2d6952d73fbafc895721a728 ↗
- https://git.kernel.org/stable/c/61f2410a96dee808029e2ae4d6ef2dd635f3477f ↗
- https://git.kernel.org/stable/c/e3a799881c12d27596232636a607e2e3fa448d63 ↗
- https://git.kernel.org/stable/c/84c24fb151fc1179355296d7ff29129ac7c42129 ↗