CVE-2026-32225 — Windows Shell Security Feature Bypass Vulnerability
Executive Summary
Protection mechanism failure in Windows Shell allows an unauthorized attacker to bypass a security feature over a network.
Overview
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/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 Version 1607 for 32-bit Systems | 5082198 (Security Update) |
Important | Security Feature Bypass | Yes |
| Windows 10 Version 1607 for x64-based Systems | 5082198 (Security Update) |
Important | Security Feature Bypass | Yes |
| Windows 10 Version 1809 for 32-bit Systems | 5082123 (Security Update) |
Important | Security Feature Bypass | Yes |
| Windows 10 Version 1809 for x64-based Systems | 5082123 (Security Update) |
Important | Security Feature Bypass | Yes |
| Windows 10 Version 21H2 for 32-bit Systems | 5082200 (Security Update) |
Important | Security Feature Bypass | Yes |
| Windows 10 Version 21H2 for ARM64-based Systems | 5082200 (Security Update) |
Important | Security Feature Bypass | Yes |
| Windows 10 Version 21H2 for x64-based Systems | 5082200 (Security Update) |
Important | Security Feature Bypass | Yes |
| Windows 10 Version 22H2 for 32-bit Systems | 5082200 (Security Update) |
Important | Security Feature Bypass | Yes |
| Windows 10 Version 22H2 for ARM64-based Systems | 5082200 (Security Update) |
Important | Security Feature Bypass | Yes |
| Windows 10 Version 22H2 for x64-based Systems | 5082200 (Security Update) |
Important | Security Feature Bypass | Yes |
| Windows 11 Version 23H2 for ARM64-based Systems | 5082052 (Security Update) |
Important | Security Feature Bypass | Yes |
| Windows 11 Version 23H2 for x64-based Systems | 5082052 (Security Update) |
Important | Security Feature Bypass | Yes |
| Windows 11 Version 24H2 for ARM64-based Systems | 5083769 (Security Update) |
Important | Security Feature Bypass | Yes |
| Windows 11 Version 24H2 for x64-based Systems | 5083769 (Security Update) |
Important | Security Feature Bypass | Yes |
| Windows 11 Version 25H2 for ARM64-based Systems | 5083769 (Security Update) |
Important | Security Feature Bypass | Yes |
| Windows 11 Version 25H2 for x64-based Systems | 5083769 (Security Update) |
Important | Security Feature Bypass | Yes |
| Windows 11 Version 26H1 for ARM64-based Systems | 5083768 (Security Update) |
Important | Security Feature Bypass | Yes |
| Windows 11 version 26H1 for x64-based Systems | 5083768 (Security Update) |
Important | Security Feature Bypass | Yes |
| Windows Server 2012 | 5082127 (Monthly Rollup) |
Important | Security Feature Bypass | Yes |
| Windows Server 2012 (Server Core installation) | 5082127 (Monthly Rollup) |
Important | Security Feature Bypass | Yes |
| Windows Server 2012 R2 | 5082126 (Monthly Rollup) |
Important | Security Feature Bypass | Yes |
| Windows Server 2012 R2 (Server Core installation) | 5082126 (Monthly Rollup) |
Important | Security Feature Bypass | Yes |
| Windows Server 2016 | 5082198 (Security Update) |
Important | Security Feature Bypass | Yes |
| Windows Server 2016 (Server Core installation) | 5082198 (Security Update) |
Important | Security Feature Bypass | Yes |
| Windows Server 2019 | 5082123 (Security Update) |
Important | Security Feature Bypass | Yes |
| Windows Server 2019 (Server Core installation) | 5082123 (Security Update) |
Important | Security Feature Bypass | Yes |
| Windows Server 2022 | 5082142 (Security Update) |
Important | Security Feature Bypass | Yes |
| Windows Server 2022 (Server Core installation) | 5082142 (Security Update) |
Important | Security Feature Bypass | Yes |
| Windows Server 2022, 23H2 Edition (Server Core installation) | 5082060 (Security Update) |
Important | Security Feature Bypass | Yes |
| Windows Server 2025 | 5082063 (Security Update) |
Important | Security Feature Bypass | Yes |
| Windows Server 2025 (Server Core installation) | 5082063 (Security Update) |
Important | Security Feature Bypass | Yes |
Patches
| Article | Type | Restart |
|---|---|---|
5082198 |
Security Update | Yes |
5082123 |
Security Update | Yes |
5082200 |
Security Update | Yes |
5082052 |
Security Update | Yes |
5083769 |
Security Update | Yes |
5083768 |
Security Update | Yes |
5082127 |
Monthly Rollup | Yes |
5082126 |
Monthly Rollup | Yes |
5082142 |
Security Update | Yes |
5082060 |
Security Update | Yes |
5082063 |
Security Update | Yes |
Patch Diff
Security feature bypass (CWE-693, protection-mechanism failure) in the Windows Shell shell32.dll Control Panel applet launch path, local. When the shell invokes a Control Panel applet / task, the shell folder callbacks (CControlPanelFolder::CallBack, CTasksFolder::CallBack) resolve the applet from its PIDL and launch it. PRE: they launched the applet WITHOUT verifying its trust - there was no trust/verification query before executing the resolved applet - so a crafted or untrusted Control Panel applet (e.g. one not properly trusted / lacking the expected package or Mark-of-the-Web protection) could be launched, bypassing the intended protection mechanism. Diff of shell32.dll 10.0.26100.8115 -> .8246 (Apr 14 2026, KB5083769) confirms the fix: gated behind CFR flags Feature_485165370 / Feature_1431563577, the callbacks now validate the item (_IsValid), resolve the executable name (GetExecName), and query the IVerifyingTrust service (IUnknown_QueryService(site, IID_IVerifyingTrust, ...) returning an IObjectWithPackageFullName) before launching, and CControlPanelTasks::ExecuteTask switches from ShellExecCmdLine to ShellExecCmdLineWithSite so the site/trust context flows into the launch - restoring the trust-verification protection so untrusted applets are blocked. Note: this April shell32 update fixed several related Windows Shell CVEs in the same Control Panel launch cluster; this record covers the trust-verification (SFB) change, which is the isolable mechanism for CVE-2026-32225.
| Function | Address | Change | Note |
|---|---|---|---|
CControlPanelFolder::CallBack |
code change |
code (trust verification added before applet launch, CFR-gated) | Post (Feature_485165370/1431563577): _IsValid(pidl) -> GetExecName(pidl,false,buf,0x20b) -> IUnknown_QueryService(*(site+0x20), IID_IVerifyingTrust, &IObjectWithPackageFullName) before launching the applet; untrusted applets are rejected. |
CTasksFolder::CallBack |
code change |
code (trust verification added, CFR-gated) | Post (Feature_1431563577): IUnknown_QueryService(*(this+0x28), IID_IVerifyingTrust, ...) and _IsValid checks added before executing the task/applet. |
CControlPanelTasks::ExecuteTask |
code change |
code (site-aware launch) | Switches from ShellExecCmdLine(...) to ShellExecCmdLineWithSite(param_1, cmd, dir, 0) so the site/trust context is carried into the launch. |
Feature_485165370 / Feature_1431563577 |
gate |
added (CFR gate) | CFR flags gating the CPL trust-verification; the original no-verification launch still ships when disabled. |
Attack Path
The shell launches a Control Panel applet without verifying its trust, bypassing the protection mechanism
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.
Exploits & PoC
Detection Rules
Acknowledgments
Jeong Lee with Microsoft