KernelScan.io

HIGH

bluetooth SMP AuthBypass

CVE-2026-31773

CVSS 8.8 / 10.0 NVD

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

KernelScan AI8.0HIGH

01

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: SMP: derive legacy responder STK authentication from MITM state The legacy responder path in smp_random() currently labels the stored STK as authenticated whenever pending_sec_level is BT_SECURITY_HIGH. That reflects what the local service requested, not what the pairing flow actually achieved. For Just Works/Confirm legacy pairing, SMP_FLAG_MITM_AUTH stays clear and the resulting STK should remain unauthenticated even if the local side requested HIGH security. Use the established MITM state when storing the responder STK so the key metadata matches the pairing result. This also keeps the legacy path aligned with the Secure Connections code, which already treats JUST_WORKS/JUST_CFM as unauthenticated.

02

Engine v0.2.0

Risk summary

Bluetooth devices using legacy SMP pairing may incorrectly mark encryption keys as authenticated when only Just Works pairing was performed. This allows attackers in Bluetooth range to bypass authentication checks and establish trusted connections without proper MITM protection.

Affectednet/bluetooth/smp.c (Bluetooth SMP)

Vulnerability analysis

The vulnerability occurs in the Bluetooth SMP legacy responder path where STK authentication metadata is set based on the requested security level rather than the actual pairing method used. When Just Works or Confirm pairing is performed, no MITM authentication occurs (SMP_FLAG_MITM_AUTH remains clear), but if BT_SECURITY_HIGH was requested, the STK was incorrectly marked as authenticated. The fix changes the logic to check the actual MITM authentication flag, ensuring key metadata accurately reflects the security properties achieved during pairing. This is exploitable by any device within Bluetooth range during pairing operations.

03

BranchFixed inPatch commit
3.163.169a38659a3d06
5.105.10.253667f44f1392d
5.155.15.203929db734d12d
6.16.1.168b1c6a8e554a3
6.126.12.81061ee71ac6b0
6.186.18.229a6d0db176f0
6.196.19.1220756fec2f01
6.66.6.1340afc846bd800
mainline7.0