LiveActive security incident?Get immediate response
CVE Record

CVE-2026-31771: Bluetooth: hci_event: move wake reason storage into validated event handlers

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().

HighCVSS 8.1Not KEV-listedUpdated
Glexia's TakeAutomated analysishigh

Security readout for executives and security teams

Plain-English summary

A short, malformed Bluetooth HCI event can be processed before Linux verifies that the event contains enough data. This may cause an out-of-bounds memory read, potentially exposing sensitive kernel memory or crashing the system. The supplied CVSS score is 8.1, reflecting adjacent access, no privileges, and no user interaction.

Executive priority

Treat as high priority for Bluetooth-enabled laptops, mobile platforms, embedded systems, and nearby-accessible infrastructure. Accelerate vendor-backed kernel updates where exposure exists. Systems without usable Bluetooth have lower likely exposure, but teams should verify rather than assume that status.

Technical view

Linux called hci_store_wake_reason() after removing the HCI event header but before enforcing event-specific minimum payload lengths. A truncated event could therefore reach bacpy() without a bounds check. The fix moves wake-address storage into event handlers after validation and explicitly requires the HCI device lock.

Likely exposure

Exposure is most relevant to Linux systems using Bluetooth where attacker-influenced or malformed HCI events can reach the host stack. The CVSS vector classifies access as adjacent. The supplied version listing is ambiguous, so exact distribution-kernel exposure cannot be determined from version numbers alone.

Exploitation context

The supplied record does not report known active exploitation and states that the CVE is not in KEV. No public exploit evidence is included. Practical reachability depends on how a system's Bluetooth controller and host stack receive HCI events; ordinary network reachability alone is not evidence of exposure.

Researcher notes

The unsafe ordering is the key issue: wake-reason parsing preceded per-event length validation. The patch relocates address storage into nine validated handlers, preserves the NULL-address fallback, and adds an explicit lock contract. The supplied version data does not clearly map stable releases to fixed status; commit-level backport verification is preferable.

Mitigation direction

  • Apply a vendor kernel update incorporating either referenced stable fix commit.
  • Check distribution security guidance for exact fixed package versions.
  • Prioritize updates on Bluetooth-enabled endpoints exposed to nearby untrusted devices.
  • Use vendor-supported compensating controls if an updated kernel is unavailable.

Validation and detection

  • Inventory running kernel versions and identify systems with active Bluetooth hardware or services.
  • Check vendor package changelogs for either referenced stable fix commit.
  • Confirm the updated kernel is running after installation and reboot.
  • Reassess Bluetooth exposure where exact backport status cannot be established.
Prepared
Confidence
medium
Sources
4

Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.

Potential ATT&CK relevance

Conservative CVE-to-ATT&CK context

These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.

ATT&CK lookup starting points

Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.

cve · low confidence lookup

CVE-2026-31771 mapping review

Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.

Open ATT&CK lookup
Vulnerability profileCVE Program record
Severity
High
CVSS
8.1 (3.1)
Known Exploited
No
Published

Vector: CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H

Official CVE source material

CNA and ADP enrichment extracted from CVE v5

These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.

1CVSS vectors
3Timeline events
0ADP providers
3Source links

CVSS vector scores

1 official score

We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.

ScoreVersionSeverityVectorExploitImpactSource
8.1CVSS 3.1HighCVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H2.85.2Linux

Vulnerability scoring details

Base CVSS 3.1 score

8.1High
CVSS 3.1 vector shape for CVE-2026-31771Attack VectorAttack ComplexityPrivileges RequiredUser InteractionScopeConfidentiality ImpactIntegrity ImpactAvailability Impact

Vector: CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H

Attack Vector
NetworkAdjacentLocalPhysical
Attack Complexity
LowHigh
Privileges Required
NoneLowHigh
User Interaction
NoneRequired
Scope
ChangedUnchanged
Confidentiality Impact
HighLowNone
Integrity Impact
HighLowNone
Availability Impact
HighLowNone

Vulnerability timeline

Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.

  1. CVE reservedCVE Program

    The CVE ID was reserved by the assigning CNA.

  2. CVE publishedCVE Program

    The CVE record was published.

  3. CVE updatedCVE Program

    The CVE record metadata indicates this as the latest update time.

Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
LinuxLinux2f20216c1d6fe17c1a224f658be0dc6fab2269c7, 2f20216c1d6fe17c1a224f658be0dc6fab2269c7unaffected
LinuxLinux5.10, 0, 6.19.12, 7.0affected
Weakness

CWE details

No CWE listed

CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.