CVE-2026-31771CWE-125

CVE-2026-31771

High · published May 1, 2026

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

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

Bluetooth: hci_event: move wake reason storage into validated event handlers

hci_store_wake_reason() is called from hci_event_packet() immediately

after stripping the HCI event header but before hci_event_func()

enforces the per-event minimum payload length from hci_ev_table.

This means a short HCI event frame can reach bacpy() before any bounds

check runs.

Rather than duplicating skb parsing and per-event length checks inside

hci_store_wake_reason(), move wake-address storage into the individual

event handlers after their existing event-length validation has

succeeded. Convert hci_store_wake_reason() into a small helper that only

stores an already-validated bdaddr while the caller holds hci_dev_lock().

Use the same helper after hci_event_func() with a NULL address to

preserve the existing unexpected-wake fallback semantics when no

validated event handler records a wake address.

Annotate the helper with __must_hold(&hdev->lock) and add

lockdep_assert_held(&hdev->lock) so future call paths keep the lock

contract explicit.

Call the helper from hci_conn_request_evt(), hci_conn_complete_evt(),

hci_sync_conn_complete_evt(), le_conn_complete_evt(),

hci_le_adv_report_evt(), hci_le_ext_adv_report_evt(),

hci_le_direct_adv_report_evt(), hci_le_pa_sync_established_evt(), and

hci_le_past_received_evt().

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.00405 · 33.6th percentile
Weakness
CWE-125 · Out-of-bounds Read
Published
2026-05-01T19:16Z
Affected products (7)
ProductVersionsFixed in
linux/linux_kernel≥ 5.10, < 6.19.126.19.12
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (5)
EPSS history
Timeline
  • 01 MAY 14:14Z
    Bluetooth: hci_event: move wake reason storage into validated event handlers
    cvelistv5