{"api_version":"1","generated_at":"2026-05-03T12:42:08+00:00","cve":"CVE-2026-31773","urls":{"html":"https://cve.report/CVE-2026-31773","api":"https://cve.report/api/cve/CVE-2026-31773.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-31773","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-31773"},"summary":{"title":"Bluetooth: SMP: derive legacy responder STK authentication from MITM state","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nBluetooth: SMP: derive legacy responder STK authentication from MITM state\n\nThe legacy responder path in smp_random() currently labels the stored\nSTK as authenticated whenever pending_sec_level is BT_SECURITY_HIGH.\nThat reflects what the local service requested, not what the pairing\nflow actually achieved.\n\nFor Just Works/Confirm legacy pairing, SMP_FLAG_MITM_AUTH stays clear\nand the resulting STK should remain unauthenticated even if the local\nside requested HIGH security. Use the established MITM state when\nstoring the responder STK so the key metadata matches the pairing result.\n\nThis also keeps the legacy path aligned with the Secure Connections code,\nwhich already treats JUST_WORKS/JUST_CFM as unauthenticated.","state":"PUBLISHED","assigner":"Linux","published_at":"2026-05-01 15:16:40","updated_at":"2026-05-03 07:16:20"},"problem_types":[],"metrics":[{"version":"3.1","source":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","type":"Secondary","score":"8.8","severity":"HIGH","vector":"CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","data":{"version":"3.1","vectorString":"CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","baseScore":8.8,"baseSeverity":"HIGH","attackVector":"ADJACENT_NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"HIGH"}},{"version":"3.1","source":"CNA","type":"DECLARED","score":"8.8","severity":"HIGH","vector":"CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","data":{"baseScore":8.8,"baseSeverity":"HIGH","vectorString":"CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","version":"3.1"}}],"references":[{"url":"https://git.kernel.org/stable/c/9a6d0db176f082685e0b6149700c0baf3ce2aa8b","name":"https://git.kernel.org/stable/c/9a6d0db176f082685e0b6149700c0baf3ce2aa8b","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/9a38659a3d06080715691bd3139f9c4b61f688e3","name":"https://git.kernel.org/stable/c/9a38659a3d06080715691bd3139f9c4b61f688e3","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/061ee71ac6b03c9f8432fe49538c3682bfcf4cf3","name":"https://git.kernel.org/stable/c/061ee71ac6b03c9f8432fe49538c3682bfcf4cf3","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/b1c6a8e554a39b222c0879a288ea98e338fc4d77","name":"https://git.kernel.org/stable/c/b1c6a8e554a39b222c0879a288ea98e338fc4d77","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/929db734d12db41ca5f95424db4612397f1bd4a7","name":"https://git.kernel.org/stable/c/929db734d12db41ca5f95424db4612397f1bd4a7","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/667f44f1392df6482483756458c48670e579e9ff","name":"https://git.kernel.org/stable/c/667f44f1392df6482483756458c48670e579e9ff","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/20756fec2f0108cb88e815941f1ffff88dc286fe","name":"https://git.kernel.org/stable/c/20756fec2f0108cb88e815941f1ffff88dc286fe","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/0afc846bd80073ffcd2b8040f2b2fafaea3d9f72","name":"https://git.kernel.org/stable/c/0afc846bd80073ffcd2b8040f2b2fafaea3d9f72","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-31773","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-31773","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected fff3490f47810e2d34b91fb9e31103e923b11c2f 9a38659a3d06080715691bd3139f9c4b61f688e3 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected fff3490f47810e2d34b91fb9e31103e923b11c2f 667f44f1392df6482483756458c48670e579e9ff git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected fff3490f47810e2d34b91fb9e31103e923b11c2f 929db734d12db41ca5f95424db4612397f1bd4a7 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected fff3490f47810e2d34b91fb9e31103e923b11c2f b1c6a8e554a39b222c0879a288ea98e338fc4d77 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected fff3490f47810e2d34b91fb9e31103e923b11c2f 0afc846bd80073ffcd2b8040f2b2fafaea3d9f72 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected fff3490f47810e2d34b91fb9e31103e923b11c2f 061ee71ac6b03c9f8432fe49538c3682bfcf4cf3 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected fff3490f47810e2d34b91fb9e31103e923b11c2f 9a6d0db176f082685e0b6149700c0baf3ce2aa8b git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected fff3490f47810e2d34b91fb9e31103e923b11c2f 20756fec2f0108cb88e815941f1ffff88dc286fe git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 14ec593d6bb050cf40a4ade2f9ac9ca050e0412c git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 3.16","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 3.16 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 5.10.253 5.10.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 5.15.203 5.15.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.1.168 6.1.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.6.134 6.6.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.12.81 6.12.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18.22 6.18.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.19.12 6.19.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.0 * original_commit_for_fix","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":{"cve_year":"2026","cve_id":"31773","cve":"CVE-2026-31773","epss":"0.000460000","percentile":"0.139200000","score_date":"2026-05-02","updated_at":"2026-05-03 00:00:23"},"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unaffected","product":"Linux","programFiles":["net/bluetooth/smp.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"lessThan":"9a38659a3d06080715691bd3139f9c4b61f688e3","status":"affected","version":"fff3490f47810e2d34b91fb9e31103e923b11c2f","versionType":"git"},{"lessThan":"667f44f1392df6482483756458c48670e579e9ff","status":"affected","version":"fff3490f47810e2d34b91fb9e31103e923b11c2f","versionType":"git"},{"lessThan":"929db734d12db41ca5f95424db4612397f1bd4a7","status":"affected","version":"fff3490f47810e2d34b91fb9e31103e923b11c2f","versionType":"git"},{"lessThan":"b1c6a8e554a39b222c0879a288ea98e338fc4d77","status":"affected","version":"fff3490f47810e2d34b91fb9e31103e923b11c2f","versionType":"git"},{"lessThan":"0afc846bd80073ffcd2b8040f2b2fafaea3d9f72","status":"affected","version":"fff3490f47810e2d34b91fb9e31103e923b11c2f","versionType":"git"},{"lessThan":"061ee71ac6b03c9f8432fe49538c3682bfcf4cf3","status":"affected","version":"fff3490f47810e2d34b91fb9e31103e923b11c2f","versionType":"git"},{"lessThan":"9a6d0db176f082685e0b6149700c0baf3ce2aa8b","status":"affected","version":"fff3490f47810e2d34b91fb9e31103e923b11c2f","versionType":"git"},{"lessThan":"20756fec2f0108cb88e815941f1ffff88dc286fe","status":"affected","version":"fff3490f47810e2d34b91fb9e31103e923b11c2f","versionType":"git"},{"status":"affected","version":"14ec593d6bb050cf40a4ade2f9ac9ca050e0412c","versionType":"git"}]},{"defaultStatus":"affected","product":"Linux","programFiles":["net/bluetooth/smp.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"status":"affected","version":"3.16"},{"lessThan":"3.16","status":"unaffected","version":"0","versionType":"semver"},{"lessThanOrEqual":"5.10.*","status":"unaffected","version":"5.10.253","versionType":"semver"},{"lessThanOrEqual":"5.15.*","status":"unaffected","version":"5.15.203","versionType":"semver"},{"lessThanOrEqual":"6.1.*","status":"unaffected","version":"6.1.168","versionType":"semver"},{"lessThanOrEqual":"6.6.*","status":"unaffected","version":"6.6.134","versionType":"semver"},{"lessThanOrEqual":"6.12.*","status":"unaffected","version":"6.12.81","versionType":"semver"},{"lessThanOrEqual":"6.18.*","status":"unaffected","version":"6.18.22","versionType":"semver"},{"lessThanOrEqual":"6.19.*","status":"unaffected","version":"6.19.12","versionType":"semver"},{"lessThanOrEqual":"*","status":"unaffected","version":"7.0","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"5.10.253","versionStartIncluding":"3.16","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"5.15.203","versionStartIncluding":"3.16","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.1.168","versionStartIncluding":"3.16","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.6.134","versionStartIncluding":"3.16","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.12.81","versionStartIncluding":"3.16","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.18.22","versionStartIncluding":"3.16","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.19.12","versionStartIncluding":"3.16","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.0","versionStartIncluding":"3.16","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.15.5","vulnerable":true}],"negate":false,"operator":"OR"}]}],"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nBluetooth: SMP: derive legacy responder STK authentication from MITM state\n\nThe legacy responder path in smp_random() currently labels the stored\nSTK as authenticated whenever pending_sec_level is BT_SECURITY_HIGH.\nThat reflects what the local service requested, not what the pairing\nflow actually achieved.\n\nFor Just Works/Confirm legacy pairing, SMP_FLAG_MITM_AUTH stays clear\nand the resulting STK should remain unauthenticated even if the local\nside requested HIGH security. Use the established MITM state when\nstoring the responder STK so the key metadata matches the pairing result.\n\nThis also keeps the legacy path aligned with the Secure Connections code,\nwhich already treats JUST_WORKS/JUST_CFM as unauthenticated."}],"metrics":[{"cvssV3_1":{"baseScore":8.8,"baseSeverity":"HIGH","vectorString":"CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","version":"3.1"}}],"providerMetadata":{"dateUpdated":"2026-05-03T05:45:54.004Z","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux"},"references":[{"url":"https://git.kernel.org/stable/c/9a38659a3d06080715691bd3139f9c4b61f688e3"},{"url":"https://git.kernel.org/stable/c/667f44f1392df6482483756458c48670e579e9ff"},{"url":"https://git.kernel.org/stable/c/929db734d12db41ca5f95424db4612397f1bd4a7"},{"url":"https://git.kernel.org/stable/c/b1c6a8e554a39b222c0879a288ea98e338fc4d77"},{"url":"https://git.kernel.org/stable/c/0afc846bd80073ffcd2b8040f2b2fafaea3d9f72"},{"url":"https://git.kernel.org/stable/c/061ee71ac6b03c9f8432fe49538c3682bfcf4cf3"},{"url":"https://git.kernel.org/stable/c/9a6d0db176f082685e0b6149700c0baf3ce2aa8b"},{"url":"https://git.kernel.org/stable/c/20756fec2f0108cb88e815941f1ffff88dc286fe"}],"title":"Bluetooth: SMP: derive legacy responder STK authentication from MITM state","x_generator":{"engine":"bippy-1.2.0"}}},"cveMetadata":{"assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","assignerShortName":"Linux","cveId":"CVE-2026-31773","datePublished":"2026-05-01T14:15:01.277Z","dateReserved":"2026-03-09T15:48:24.140Z","dateUpdated":"2026-05-03T05:45:54.004Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-05-01 15:16:40","lastModifiedDate":"2026-05-03 07:16:20","problem_types":[],"metrics":{"cvssMetricV31":[{"source":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","baseScore":8.8,"baseSeverity":"HIGH","attackVector":"ADJACENT_NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"HIGH"},"exploitabilityScore":2.8,"impactScore":5.9}]},"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"31773","Ordinal":"1","Title":"Bluetooth: SMP: derive legacy responder STK authentication from ","CVE":"CVE-2026-31773","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"31773","Ordinal":"1","NoteData":"In the Linux kernel, the following vulnerability has been resolved:\n\nBluetooth: SMP: derive legacy responder STK authentication from MITM state\n\nThe legacy responder path in smp_random() currently labels the stored\nSTK as authenticated whenever pending_sec_level is BT_SECURITY_HIGH.\nThat reflects what the local service requested, not what the pairing\nflow actually achieved.\n\nFor Just Works/Confirm legacy pairing, SMP_FLAG_MITM_AUTH stays clear\nand the resulting STK should remain unauthenticated even if the local\nside requested HIGH security. Use the established MITM state when\nstoring the responder STK so the key metadata matches the pairing result.\n\nThis also keeps the legacy path aligned with the Secure Connections code,\nwhich already treats JUST_WORKS/JUST_CFM as unauthenticated.","Type":"Description","Title":"Bluetooth: SMP: derive legacy responder STK authentication from "}]}}}