CVE-2026-90089

CVE-2026-90089

High · published September 17, 2026

CVSS v3.1
7.1
EPSS
0%
Percentile
25.0
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS v3.1
7.1 · HIGH
Vector
CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00331 · 25.0th percentile
Published
2026-09-17T21:17Z
References (3)
EPSS history
Timeline
  • 19 SEP 03:55Z
    EPSS moved — → 0%
    epss
  • 17 SEP 16:06Z
    Bluetooth: btnxpuart: Validate the FW dump header length
    cvelistv5