Description
In the Linux kernel, the following vulnerability has been resolved: Bluetooth: RFCOMM: validate skb length in MCC handlers The RFCOMM MCC handlers cast skb->data to protocol-specific structs without validating skb->len first. A malicious remote device can send truncated MCC frames and trigger out-of-bounds reads in these handlers. Fix this by using skb_pull_data() to validate and access the required data before dereferencing it. rfcomm_recv_rpn() requires special handling since ETSI TS 07.10 allows 1-byte RPN requests. Handle this by validating only the DLCI byte first, and validating the full struct only when len > 1.
CVSS breakdown
CVSS 3.1
Attack Vector
Adjacent
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
High
Affected products
- Linux / Linux1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 – 7c15c7c2878957cbfed93bcc29c13fdace464254
- Linux / Linux1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 – 0d637136ce89f9a2309b2c3502402ce400dab0ef
- Linux / Linux1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 – 98377e6b1a1a56561ec66a181573ea2b61b2079e
- Linux / Linux1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 – 1b070ac9e99c2c2c3a8112943ca98ab6fca7f10c
- Linux / Linux1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 – 3eabc6d47a0ad22b053329997aaf0ec1e581e392
- Linux / Linux1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 – 08b9c1fbe78f4ad3f6250c6541cfaabdbeb81997
- Linux / Linux1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 – 23882b828c3c8c51d0c946446a396b10abb3b16b
- Linux / Linux2.6.12 – 2.6.12
- Linux / Linux0 – 2.6.12
- Linux / Linux5.15.210 – 5.15.*
- Linux / Linux6.1.176 – 6.1.*
- Linux / Linux6.6.143 – 6.6.*
- Linux / Linux6.12.94 – 6.12.*
- Linux / Linux6.18.36 – 6.18.*
- Linux / Linux7.0.13 – 7.0.*
- Linux / Linux7.1 – *
References
- MISChttps://git.kernel.org/stable/c/7c15c7c2878957cbfed93bcc29c13fdace464254
- MISChttps://git.kernel.org/stable/c/0d637136ce89f9a2309b2c3502402ce400dab0ef
- MISChttps://git.kernel.org/stable/c/98377e6b1a1a56561ec66a181573ea2b61b2079e
- MISChttps://git.kernel.org/stable/c/1b070ac9e99c2c2c3a8112943ca98ab6fca7f10c
- MISChttps://git.kernel.org/stable/c/3eabc6d47a0ad22b053329997aaf0ec1e581e392
- MISChttps://git.kernel.org/stable/c/08b9c1fbe78f4ad3f6250c6541cfaabdbeb81997
- MISChttps://git.kernel.org/stable/c/23882b828c3c8c51d0c946446a396b10abb3b16b