CVE-2026-90089
CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H
Summary
In the Linux kernel, the following vulnerability has been resolved:
Bluetooth: btnxpuart: Validate the FW dump header length
nxp_process_fw_dump() pulls the ACL header off the frame and then reads seq_num and buf_len from a struct nxp_fw_dump_hdr placed at skb->data, without checking that the ACL payload is long enough to contain it.
h4_recv_buf() collects HCI_ACL_HDR_SIZE bytes of header followed by the number of payload bytes named in that header, so skb->len is 4 + dlen with dlen supplied by the controller and possibly smaller than the 8 byte dump header, or zero. A short frame with connection handle 0xfff therefore reads both fields from beyond the received data.
Beyond the read itself, buf_len is what terminates a dump: a value of zero makes the driver call hci_devcd_complete() and reset the controller, so a truncated frame can end a dump early.
Use skb_pull_data() to validate and pull the FW dump header before accessing its fields. Warn and reject the chunk if the header is truncated.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | 998e447f443f138c90faa6ff3845082af419070e < a644b8df94966b672ac656577df98bd01bc88393 | affected |
| Linux | Linux | 998e447f443f138c90faa6ff3845082af419070e < 22d419db7f9a01bea22cfcf66774d2b2fd4bb354 | affected |
| Linux | Linux | 998e447f443f138c90faa6ff3845082af419070e < 060fa7592bdc043a93b6b7870f5b8551206d315d | affected |
| Linux | Linux | 6.15 | affected |
| Linux | Linux | 0 < 6.15 | unaffected |
| Linux | Linux | 6.18.52 <= 6.18.* | unaffected |
| Linux | Linux | 7.2.6 <= 7.2.* | unaffected |
| Linux | Linux | 7.3-rc1 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/a644b8df94966b672ac656577df98bd01bc88393
- https://git.kernel.org/stable/c/22d419db7f9a01bea22cfcf66774d2b2fd4bb354
- https://git.kernel.org/stable/c/060fa7592bdc043a93b6b7870f5b8551206d315d
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.