CVE-2022-35820 — Windows Bluetooth Driver Elevation of Privilege Vulnerability
Executive Summary
None
Overview
CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H/E:U/RL:O/RC:C
EPSS Score
Affected Products
| Product | KB Article | Severity | Impact | Restart Required |
|---|---|---|---|---|
| Windows 10 for 32-bit Systems | 5016639 (Security Update) |
Important | Elevation of Privilege | Yes |
| Windows 10 for x64-based Systems | 5016639 (Security Update) |
Important | Elevation of Privilege | Yes |
| Windows 10 Version 1607 for 32-bit Systems | 5016622 (Security Update) |
Important | Elevation of Privilege | Yes |
| Windows 10 Version 1607 for x64-based Systems | 5016622 (Security Update) |
Important | Elevation of Privilege | Yes |
| Windows 10 Version 1809 for 32-bit Systems | 5016623 (Security Update) |
Important | Elevation of Privilege | Yes |
| Windows 10 Version 1809 for ARM64-based Systems | 5016623 (Security Update) |
Important | Elevation of Privilege | Yes |
| Windows 10 Version 1809 for x64-based Systems | 5016623 (Security Update) |
Important | Elevation of Privilege | Yes |
| Windows 10 Version 20H2 for 32-bit Systems | 5016616 (Security Update) |
Important | Elevation of Privilege | Yes |
| Windows 10 Version 20H2 for ARM64-based Systems | 5016616 (Security Update) |
Important | Elevation of Privilege | Yes |
| Windows 10 Version 21H1 for 32-bit Systems | 5016616 (Security Update) |
Important | Elevation of Privilege | Yes |
| Windows 10 Version 21H1 for ARM64-based Systems | 5016616 (Security Update) |
Important | Elevation of Privilege | Yes |
| Windows 10 Version 21H1 for x64-based Systems | 5016616 (Security Update) |
Important | Elevation of Privilege | Yes |
| Windows 10 Version 21H2 for 32-bit Systems | 5016616 (Security Update) |
Important | Elevation of Privilege | Yes |
| Windows 10 Version 21H2 for ARM64-based Systems | 5016616 (Security Update) |
Important | Elevation of Privilege | Yes |
| Windows 10 Version 21H2 for x64-based Systems | 5016616 (Security Update) |
Important | Elevation of Privilege | Yes |
| Windows 11 version 21H2 for ARM64-based Systems | 5016629 (Security Update) |
Important | Elevation of Privilege | Yes |
| Windows 11 version 21H2 for x64-based Systems | 5016629 (Security Update) |
Important | Elevation of Privilege | Yes |
| Windows 7 for 32-bit Systems Service Pack 1 5016676 (Monthly Rollup) 5016679 (Security Only) Important Elevation of Privilege 5015861 Base: 7.8 Temporal: 6.8 Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H/E:U/RL:O/RC:C 6.1.7601.26065 Yes 5016676 5016679 Windows 7 for x64-based Systems Service Pack 1 5016676 (Monthly Rollup) 5016679 (Security Only) Important Elevation of Privilege 5015861 Base: 7.8 Temporal: 6.8 Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H/E:U/RL:O/RC:C 6.1.7601.26065 Yes 5016676 5016679 Windows 8.1 for 32-bit systems 5016681 (Monthly Rollup) 5016683 (Security Only) Important Elevation of Privilege 5015874 Base: 7.8 Temporal: 6.8 Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H/E:U/RL:O/RC:C 6.3.9600.20520 Yes None Windows 8.1 for x64-based systems 5016681 (Monthly Rollup) 5016683 (Security Only) Important Elevation of Privilege 5015874 Base: 7.8 Temporal: 6.8 Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H/E:U/RL:O/RC:C 6.3.9600.20520 Yes None Windows RT 8.1 | 5016681 (Monthly Rollup) |
Important | Elevation of Privilege | Yes |
| Windows Server 2008 R2 for x64-based Systems Service Pack 1 5016676 (Monthly Rollup) 5016679 (Security Only) Important Elevation of Privilege 5015861 Base: 7.8 Temporal: 6.8 Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H/E:U/RL:O/RC:C 6.1.7601.26065 Yes 5016676 5016679 Windows Server 2008 R2 for x64-based Systems Service Pack 1 (Server Core installation) 5016676 (Monthly Rollup) 5016679 (Security Only) Important Elevation of Privilege 5015861 Base: 7.8 Temporal: 6.8 Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H/E:U/RL:O/RC:C 6.1.7601.26065 Yes 5016676 5016679 Windows Server 2012 5016672 (Monthly Rollup) 5016684 (Security Only) Important Elevation of Privilege 5015863 Base: 7.8 Temporal: 6.8 Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H/E:U/RL:O/RC:C 6.2.9200.23817 Yes None Windows Server 2012 (Server Core installation) 5016672 (Monthly Rollup) 5016684 (Security Only) Important Elevation of Privilege 5015863 Base: 7.8 Temporal: 6.8 Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H/E:U/RL:O/RC:C 6.2.9200.23817 Yes None Windows Server 2012 R2 5016681 (Monthly Rollup) 5016683 (Security Only) Important Elevation of Privilege 5015874 Base: 7.8 Temporal: 6.8 Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H/E:U/RL:O/RC:C 6.3.9600.20520 Yes None Windows Server 2012 R2 (Server Core installation) 5016681 (Monthly Rollup) 5016683 (Security Only) Important Elevation of Privilege 5015874 Base: 7.8 Temporal: 6.8 Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H/E:U/RL:O/RC:C 6.3.9600.20520 Yes None Windows Server 2016 | 5016622 (Security Update) |
Important | Elevation of Privilege | Yes |
| Windows Server 2016 (Server Core installation) | 5016622 (Security Update) |
Important | Elevation of Privilege | Yes |
| Windows Server 2019 | 5016623 (Security Update) |
Important | Elevation of Privilege | Yes |
| Windows Server 2019 (Server Core installation) | 5016623 (Security Update) |
Important | Elevation of Privilege | Yes |
| Windows Server 2022 | 5016627 (Security Update) |
Important | Elevation of Privilege | Yes |
| Windows Server 2022 (Server Core installation) | 5016627 (Security Update) |
Important | Elevation of Privilege | Yes |
| Windows Server, version 20H2 (Server Core Installation) | 5016616 (Security Update) |
Important | Elevation of Privilege | Yes |
Patches
| Article | Type | Restart |
|---|---|---|
5016639 |
Security Update | Yes |
5016622 |
Security Update | Yes |
5016623 |
Security Update | Yes |
5016616 |
Security Update | Yes |
5016629 |
Security Update | Yes |
5016681 |
Monthly Rollup | Yes |
5016627 |
Security Update | Yes |
Patch Diff
Registry-symlink local EoP (CWE-285 improper authorization) in the Windows Bluetooth core driver bthport.sys (Pwn2Own 2022 Win11 EoP). Issuing IOCTL 0x41104C to the CLUSPORT... no: to the Bluetooth device object calls HCI_SetLocalServiceInfo -> HCI_GetLocalServiceKey, which creates registry keys (local service info) without OBJ_FORCE_ACCESS_CHECK, so a low-privileged user can plant a registry symbolic link and force the SYSTEM driver to create/modify arbitrary HKLM keys -> EoP. IN-HOUSE ghidriff of bthport.sys 10.0.19041.1682 -> .1889 (Aug 9 2022) confirms the fix: a new BthCreateKeyEx helper (access-checked key creation) and Microsoft::Bluetooth::BthCoreCx::Driver::UpdateRegistryKeysSecurity are added, and the HCI_RegUpdate* / local-service-key registry paths are reworked to use them so key creation is access-checked and not symlink-followable. Reporter: submitted via Pwn2Own 2022.
| Function | Address | Change | Note |
|---|---|---|---|
BthCreateKeyEx |
added (new helper) |
added (access-checked registry create) | New wrapper for registry key creation added in the fix; replaces raw create calls on the Bluetooth registry paths so the create is access-checked (OBJ_FORCE_ACCESS_CHECK) and does not follow user-planted symlinks. |
Microsoft::Bluetooth::BthCoreCx::Driver::UpdateRegistryKeysSecurity |
changed/added |
code (tightens key security) | Reworks the security applied to Bluetooth registry keys as part of the fix. |
HCI_RegUpdate* / HCI_GetLocalServiceKey path |
changed |
code (use access-checked create) | The HCI registry-update paths (reached from HCI_SetLocalServiceInfo->HCI_GetLocalServiceKey via IOCTL 0x41104C) are updated to use BthCreateKeyEx instead of unchecked ZwCreateKey. |
Attack Path
A Bluetooth IOCTL creates local-service registry keys without an access check, following a user symlink to write arbitrary HKLM as SYSTEM
Derived from the patch delta: the checks added by the vendor identify which fields crossed a trust boundary unvalidated. Reachability and privilege are taken from the call chain in the RCA report.
Known Exploits
Acknowledgments
T0 working with Trend Micro Zero Day Initiative