CVE-2026-0386 — Windows Deployment Services Remote Code Execution Vulnerability
Executive Summary
Improper access control in Windows Deployment Services allows an unauthorized attacker to execute code over an adjacent network.
Overview
CVSS Vector
CVSS:3.1/AV:A/AC:H/PR:N/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 Server 2008 for 32-bit Systems Service Pack 2 5073697 (Monthly Rollup) 5073700 (Security Only) Important Remote Code Execution 5071504 Base: 7.5 Temporal: 6.5 Vector: CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H/E:U/RL:O/RC:C 6.0.6003.23717 Yes None Windows Server 2008 for 32-bit Systems Service Pack 2 (Server Core installation) 5073697 (Monthly Rollup) 5073700 (Security Only) Important Remote Code Execution 5071504 Base: 7.5 Temporal: 6.5 Vector: CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H/E:U/RL:O/RC:C 6.0.6003.23717 Yes None Windows Server 2008 for x64-based Systems Service Pack 2 5073697 (Monthly Rollup) 5073700 (Security Only) Important Remote Code Execution 5071504 Base: 7.5 Temporal: 6.5 Vector: CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H/E:U/RL:O/RC:C 6.0.6003.23717 Yes None Windows Server 2008 for x64-based Systems Service Pack 2 (Server Core installation) 5073697 (Monthly Rollup) 5073700 (Security Only) Important Remote Code Execution 5071504 Base: 7.5 Temporal: 6.5 Vector: CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H/E:U/RL:O/RC:C 6.0.6003.23717 Yes None Windows Server 2008 R2 for x64-based Systems Service Pack 1 5073695 (Monthly Rollup) 5073699 (Security Only) Important Remote Code Execution 5071501 Base: 7.5 Temporal: 6.5 Vector: CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H/E:U/RL:O/RC:C 6.1.7601.28117 Yes None Windows Server 2008 R2 for x64-based Systems Service Pack 1 (Server Core installation) 5073695 (Monthly Rollup) 5073699 (Security Only) Important Remote Code Execution 5071501 Base: 7.5 Temporal: 6.5 Vector: CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H/E:U/RL:O/RC:C 6.1.7601.28117 Yes None Windows Server 2012 | 5073698 (Monthly Rollup) |
Important | Remote Code Execution | Yes |
| Windows Server 2012 (Server Core installation) | 5073698 (Monthly Rollup) |
Important | Remote Code Execution | Yes |
| Windows Server 2012 R2 | 5073696 (Monthly Rollup) |
Important | Remote Code Execution | Yes |
| Windows Server 2012 R2 (Server Core installation) | 5073696 (Monthly Rollup) |
Important | Remote Code Execution | Yes |
| Windows Server 2016 | 5073722 (Security Update) |
Important | Remote Code Execution | Yes |
| Windows Server 2016 (Server Core installation) | 5073722 (Security Update) |
Important | Remote Code Execution | Yes |
| Windows Server 2019 | 5073723 (Security Update) |
Important | Remote Code Execution | Yes |
| Windows Server 2019 (Server Core installation) | 5073723 (Security Update) |
Important | Remote Code Execution | Yes |
| Windows Server 2022 | 5073457 (Security Update) |
Important | Remote Code Execution | Yes |
| Windows Server 2022 (Server Core installation) | 5073457 (Security Update) |
Important | Remote Code Execution | Yes |
| Windows Server 2022, 23H2 Edition (Server Core installation) | 5073450 (Security Update) |
Important | Remote Code Execution | Yes |
| Windows Server 2025 | 5073379 (Security Update) |
Important | Remote Code Execution | Yes |
| Windows Server 2025 (Server Core installation) | 5073379 (Security Update) |
Important | Remote Code Execution | Yes |
Patches
| Article | Type | Restart |
|---|---|---|
5073698 |
Monthly Rollup | Yes |
5073696 |
Monthly Rollup | Yes |
5073722 |
Security Update | Yes |
5073723 |
Security Update | Yes |
5073457 |
Security Update | Yes |
5073450 |
Security Update | Yes |
5073379 |
Security Update | Yes |
Patch Diff
Improper access control / external control of path (CWE-73) in the Windows Deployment Services image-server provider WdsImgSrv.dll, adjacent-network info disclosure -> RCE. WDS transmits the unattend.xml answer file (containing admin password, domain-join creds) to clients over an UNAUTHENTICATED RPC channel. Pre-patch, HandlerClientUnattend looked up and transmitted the unattended-install file on a client request with no policy/authentication check, so an attacker with LAN access could MITM the client<->server path or impersonate a client and read the plaintext deployment secrets. Diff of WdsImgSrv.dll 10.0.14393.8781 -> .8864 (brackets the .8783 KB5073722 fix) confirms the patch: a new registry policy check (EvaluateCurrentStateFromRegistry / EvaluateCurrentState / EvaluateFeature, added RegOpenKeyExW(HKLM)+RegQueryValueExW) wired into WdsProviderInitialize and HandlerClientUnattend reads HKLM\System\CurrentControlSet\Services\WdsServer\Providers\WdsImgSrv\Unattend\AllowHandsFreeFunctionality before serving the file. If the admin explicitly allows the insecure setting it proceeds but logs a warning ('...may expose sensitive configuration files to interception...', fwlink 2344403); otherwise the request is rejected. Microsoft will enable the protection by default after a mid-2026 update, phasing out unauthenticated hands-free deployment.
| Function | Address | Change | Note |
|---|---|---|---|
EvaluateCurrentStateFromRegistry |
new/added |
code (registry policy read added) | New routine: RegOpenKeyExW(HKLM, ...WdsServer\Providers\WdsImgSrv\Unattend) + RegQueryValueExW(AllowHandsFreeFunctionality) to decide whether hands-free unattend transmission over unauthenticated RPC is permitted. |
EvaluateCurrentState |
code change |
code (policy evaluation) | Evaluates the AllowHandsFreeFunctionality state; allow-with-warning vs reject. |
EvaluateFeature |
code change |
code (policy gate) | Feature/policy evaluation feeding the decision; emits the 'insecure settings ... exposed to interception' warning (swprintf_s) when the insecure path is allowed. |
HandlerClientUnattend |
caller |
code (now gated by policy) | Pre: transmitted the unattend file on a client request with no channel/auth check. Post: calls the new policy evaluation before serving; rejects when the insecure hands-free setting is not enabled. |
WdsProviderInitialize |
caller |
code (initializes policy state) | Wired to the new registry policy evaluation at provider init. |
Attack Path
WDS serves the unattend answer file over unauthenticated RPC, so a LAN attacker MITMs or impersonates a client to read plaintext deployment secrets
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
Microsoft Offensive Research and Security Engineering (MORSE) with Microsoft