KB5034279: Windows Server 2012 R2 Security Update (January 2024)
A logic flaw in .NET's X.509 chain-building APIs returns an incorrect failure-reason code that some applications treat as success.
An attacker who can present a malformed certificate to a .NET / PowerShell / Visual Studio application that does its own chain-building logic — typically a custom authentication or signature-verification flow, common in internal LOB applications — can be authenticated despite the failed chain-build. The result is authentication bypass: the attacker gets in as a legitimate user without a valid certificate.
.NET Framework, .NET (Core), PowerShell, and Visual Studio 2022 ship the X.509 chain-building APIs that applications call to validate TLS certificates and code-signing certificates. A logic flaw causes the framework to correctly report that chain-building failed for a certificate with a malformed signature — but it returns an incorrect reason code. Applications that use the reason code (rather than the boolean failure result) to make trust decisions may treat the failure as success and accept the untrusted certificate.
Probably yes if any of these apply:
Affected OS versions
A custom internal application uses .NET's chain-building API to verify client certificates. The application checks the returned reason code rather than the boolean overall-success — a common but subtly wrong pattern. An attacker presents an untrusted certificate with a malformed signature; the framework reports failure-with-wrong-reason, the application treats it as success, and the attacker authenticates. The bug is in the framework but the impact is application-specific.
Manual download
For air-gapped servers or out-of-band deployment. Microsoft Update Catalog returns every OS-version variant of this update.
↗ Microsoft Update CatalogKB5034279Manual remediation steps
Prerequisites
Estimated time
20–40 minutes per server (download + install + reboot)
Reboot required
Yes — install the cumulative update and reboot the server before the fix is active.
Steps
1. Confirm the server is missing the patch
Get-HotFix -Id KB5034279 -ErrorAction SilentlyContinue
2. Install the update — pick one channel
Windows Update / WSUS (preferred):
UsoClient ScanInstallWait
Manual download (offline / air-gapped):
3. Reboot
Restart-Computer -Force
Verification
Get-HotFix -Id KB5034279
[System.Environment]::OSVersion.Version
Rollback
wusa.exe /uninstall /kb:5034279 /quiet /norestart
Notes
No tested PowerShell script for this entry yet. We’re prioritising automation based on user demand.