CVE-2026-89583

CVE-2026-89583

High · published September 12, 2026

CVSS v3.1
8.1
EPSS
0%
Percentile
17.9
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

Bluetooth: eir: Fix OOB read in eir_get_service_data()

eir_get_service_data() walks the advertising data for a Service Data

field with a matching UUID. On a mismatch it advances:

eir += dlen;

eir_len -= dlen;

eir_get_data() reports dlen as the field's data length, but the field

spans dlen + 2 bytes once its length and type bytes count, and more

when non-Service-Data fields were skipped to reach it. The pointer

lands correctly on the next field. eir_len does not, and the shortfall

compounds across fields until eir_get_data() reads the length and type

bytes of a "field" past the end of the buffer.

For an ISO broadcast sink that buffer is hcon->le_per_adv_data[], filled

from the periodic advertising reports of a remote broadcaster. A PA

payload packed with mismatching Service Data fields walks off the array

into the rest of struct hci_conn. A drifted field that matches the BAA

UUID puts those bytes in iso_pi(sk)->base, where user space reads them

back with getsockopt(BT_ISO_BASE).

Recompute eir_len from the end of the buffer each iteration.

The record
Technical detail
CVSS v3.1
8.1 · HIGH
Vector
CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00268 · 17.9th percentile
Published
2026-09-12T00:19Z
References (6)
EPSS history
Timeline
  • 13 SEP 03:23Z
    EPSS moved — → 0%
    epss
  • 11 SEP 19:44Z
    Bluetooth: eir: Fix OOB read in eir_get_service_data()
    cvelistv5