---
id: CVE-2026-89583
title: 'Bluetooth: eir: Fix OOB read in eir_get_service_data()'
summary: |-
  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 …
severity: high
cvss: 8.1
cvssVector: 'CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H'
cvssSource: cna
cwe:
  - CWE-125
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 8f9ae5b3ae80f168a6224529e3787f4fb27f299a <
    b6902adf81ea2ce14b1040dd97b6980050a8125a
  - >-
    Linux >= 8f9ae5b3ae80f168a6224529e3787f4fb27f299a <
    1a28aae7f1fc8c06c0d02f153541be4fc7bacb74
  - >-
    Linux >= 8f9ae5b3ae80f168a6224529e3787f4fb27f299a <
    815fc98c227a78cbd93d4c29f2833705b7c2bc0f
  - >-
    Linux >= 8f9ae5b3ae80f168a6224529e3787f4fb27f299a <
    c21fa79301d7d6ac0a4ec6c51e8ba10beaa08c50
  - >-
    Linux >= 8f9ae5b3ae80f168a6224529e3787f4fb27f299a <
    bb56e97bd67614238c1c0a4084704ccadbb875b4
  - >-
    Linux >= 8f9ae5b3ae80f168a6224529e3787f4fb27f299a <
    4beb198bc59b242404a47c21990bc84165052c8a
  - Linux 5.19
published: '2026-09-11'
updated: '2026-10-19'
sourceUpdated: '2026-10-19T08:49:16.094Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-89583'
references:
  - url: 'https://git.kernel.org/stable/c/b6902adf81ea2ce14b1040dd97b6980050a8125a'
  - url: 'https://git.kernel.org/stable/c/1a28aae7f1fc8c06c0d02f153541be4fc7bacb74'
  - url: 'https://git.kernel.org/stable/c/815fc98c227a78cbd93d4c29f2833705b7c2bc0f'
  - url: 'https://git.kernel.org/stable/c/c21fa79301d7d6ac0a4ec6c51e8ba10beaa08c50'
  - url: 'https://git.kernel.org/stable/c/bb56e97bd67614238c1c0a4084704ccadbb875b4'
  - url: 'https://git.kernel.org/stable/c/4beb198bc59b242404a47c21990bc84165052c8a'
  - url: >-
      https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-89583.json
  - url: 'https://access.redhat.com/security/cve/CVE-2026-89583'
  - url: 'https://bugzilla.redhat.com/show_bug.cgi?id=2532057'
  - url: 'https://www.cve.org/CVERecord?id=CVE-2026-89583'
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-89583'
  - url: >-
      https://git.kernel.org/pub/scm/linux/security/vulns.git/plain/cve/published/2026/CVE-2026-89583.mbox
tags:
  - cve.org
  - csaf
  - vex
  - red-hat
epss: 0.00268
epssPercentile: 0.18795
scores:
  cna: 8.1
  vendor: 7
ingestedAt: '2026-09-14T15:23:07.451Z'
---

## Overview

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.

## Affected

- `Linux >= 8f9ae5b3ae80f168a6224529e3787f4fb27f299a < b6902adf81ea2ce14b1040dd97b6980050a8125a`
- `Linux >= 8f9ae5b3ae80f168a6224529e3787f4fb27f299a < 1a28aae7f1fc8c06c0d02f153541be4fc7bacb74`
- `Linux >= 8f9ae5b3ae80f168a6224529e3787f4fb27f299a < 815fc98c227a78cbd93d4c29f2833705b7c2bc0f`
- `Linux >= 8f9ae5b3ae80f168a6224529e3787f4fb27f299a < c21fa79301d7d6ac0a4ec6c51e8ba10beaa08c50`
- `Linux >= 8f9ae5b3ae80f168a6224529e3787f4fb27f299a < bb56e97bd67614238c1c0a4084704ccadbb875b4`
- `Linux >= 8f9ae5b3ae80f168a6224529e3787f4fb27f299a < 4beb198bc59b242404a47c21990bc84165052c8a`
- `Linux 5.19`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.

## Vendor advisories

- **Red Hat VEX** · Moderate · affected: Red Hat Enterprise Linux 10, Red Hat Enterprise Linux 9, Red Hat OpenShift Container Platform 4 · no fix planned: Red Hat Enterprise Linux 10, Red Hat Enterprise Linux 9, Red Hat OpenShift Container Platform 4 · updated 2026-09-14 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-89583.json)
