CVE-2026-31773

Summary

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.

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxfff3490f47810e2d34b91fb9e31103e923b11c2f < 9a38659a3d06080715691bd3139f9c4b61f688e3affected
LinuxLinuxfff3490f47810e2d34b91fb9e31103e923b11c2f < 667f44f1392df6482483756458c48670e579e9ffaffected
LinuxLinuxfff3490f47810e2d34b91fb9e31103e923b11c2f < 929db734d12db41ca5f95424db4612397f1bd4a7affected
LinuxLinuxfff3490f47810e2d34b91fb9e31103e923b11c2f < b1c6a8e554a39b222c0879a288ea98e338fc4d77affected
LinuxLinuxfff3490f47810e2d34b91fb9e31103e923b11c2f < 0afc846bd80073ffcd2b8040f2b2fafaea3d9f72affected
LinuxLinuxfff3490f47810e2d34b91fb9e31103e923b11c2f < 061ee71ac6b03c9f8432fe49538c3682bfcf4cf3affected
LinuxLinuxfff3490f47810e2d34b91fb9e31103e923b11c2f < 9a6d0db176f082685e0b6149700c0baf3ce2aa8baffected
LinuxLinuxfff3490f47810e2d34b91fb9e31103e923b11c2f < 20756fec2f0108cb88e815941f1ffff88dc286feaffected
LinuxLinux14ec593d6bb050cf40a4ade2f9ac9ca050e0412caffected
LinuxLinux3.15.5 < 3.16affected
LinuxLinux3.16affected
LinuxLinux0 < 3.16unaffected
LinuxLinux5.10.253 <= 5.10.*unaffected
LinuxLinux5.15.203 <= 5.15.*unaffected
LinuxLinux6.1.168 <= 6.1.*unaffected
LinuxLinux6.6.134 <= 6.6.*unaffected
LinuxLinux6.12.81 <= 6.12.*unaffected
LinuxLinux6.18.22 <= 6.18.*unaffected
LinuxLinux6.19.12 <= 6.19.*unaffected
LinuxLinux7.0 <= *unaffected

Weaknesses

References