KB5097150 Updates .NET 9.0 to 9.0.17 with Security Fixes for Runtime and ASP.NET Core
The update patches a critical deserialization RCE flaw, a DoS issue in ASP.NET Core request processing, and a certificate validation information disclosure bug across Windows, Linux, and macOS.

On this page
Key takeaways
- KB5097150 updates .NET 9.0 to 9.0.17 with three security fixes.
- CVE-2026-26918: critical deserialization RCE (CVSS 9.8).
- CVE-2026-26919: high-severity DoS in ASP.NET Core Kestrel (CVSS 7.5).
- Cross-platform: Windows, Linux, and macOS all need updating.
- Applications must be restarted after installation.
What to do now
High urgency- Update .NET 9.0 to 9.0.17.
- Restart all .NET 9 applications.
- Migrate from BinaryFormatter to System.Text.Json.
Microsoft shipped KB5097150 on June 9, 2026, as part of its monthly Patch Tuesday cycle, updating the .NET 9.0 runtime and ASP.NET Core to version 9.0.17. The update addresses three security vulnerabilities: CVE-2026-26918, a critical remote code execution flaw in .NET deserialization components rated CVSS 9.8; CVE-2026-26919, a high-severity denial of service issue in ASP.NET Core request processing rated CVSS 7.5; and CVE-2026-26920, a medium-severity information disclosure bug in cryptographic certificate validation rated CVSS 6.5. The update applies to all platforms where .NET 9 runs, including Windows, Linux, and macOS.
The most urgent fix targets deserialization, a persistent attack surface in .NET applications. Organizations running .NET 9 in production, especially apps that process untrusted input, should update to 9.0.17 promptly.
KB5097150 patches three .NET 9 vulnerabilities including a CVSS 9.8 deserialization RCE, updating the runtime to 9.0.17.
Update .NET 9.0 to 9.0.17. The critical fix targets deserialization RCE. Restart all .NET applications after updating.
Affected & context
Microsoft released KB5097150 on June 9, 2026, updating .NET 9.0 to 9.0.17 with security fixes for three CVEs across all platforms.
CVE-2026-26918 is a CVSS 9.8 deserialization RCE affecting any .NET 9 app processing untrusted serialized data.
Developers, DevOps teams, and IT administrators running .NET 9.0 applications.
- Vendors
- Microsoft
- Products
- .NET 9.0 RuntimeASP.NET Core 9.0.NET 9.0 SDK
- Industry
- Software DevelopmentCloud Services
- CVEs
- CVE-2026-26918CVE-2026-26919CVE-2026-26920
What KB5097150 Fixes in .NET 9.0
Microsoft released KB5097150 on June 9, 2026, updating .NET 9.0 to version 9.0.17. Per Microsoft's support article, this is a servicing upgrade, meaning it replaces the previous .NET 9.0 version on the system automatically.
The update fixes three CVEs. CVE-2026-26918 is a critical remote code execution vulnerability in the .NET runtime's deserialization components with a CVSS score of 9.8. It affects applications using BinaryFormatter, DataContractSerializer, and other serialization mechanisms. CVE-2026-26919 is a high-severity denial of service flaw (CVSS 7.5) in ASP.NET Core's Kestrel request processing pipeline. CVE-2026-26920 is a medium-severity information disclosure issue (CVSS 6.5) in System.Security.Cryptography's certificate validation.
The update also includes stability improvements to System.Text.Json for handling malformed JSON payloads, reducing the risk of memory corruption during parsing.
Why .NET 9 Deserialization Flaws Are High Priority
Deserialization vulnerabilities remain one of the most dangerous attack surfaces in .NET applications. CVE-2026-26918 scores CVSS 9.8 because it allows attackers to execute arbitrary code by providing crafted serialized data to any application that processes untrusted input through .NET serializers.
The cross-platform impact makes this update urgent for more than just Windows shops. Linux-based containers running ASP.NET Core, macOS development environments, and Azure App Services all need updating. The .NET 9.0 runtime powers web APIs, microservices, background workers, and desktop apps across all three platforms.
The ASP.NET Core DoS flaw (CVE-2026-26919) is also notable for production environments. Malformed HTTP requests with specific header patterns could exhaust server resources, taking down public-facing web applications without any authentication required.
Which .NET Versions and Platforms Need the Update
KB5097150 applies to .NET 9.0 runtime versions 9.0.0 through 9.0.16, ASP.NET Core 9.0, and .NET 9.0 SDK. The update targets all supported platforms: Windows (10 version 1607+, 11, Server 2019/2022/2025), Linux (Ubuntu 20.04+, RHEL 8+, SUSE 15+, Debian 11+), and macOS 12.0 or later.
The June 2026 Patch Tuesday also included parallel updates for .NET 8.0 (KB5097149, updating to 8.0.28) and .NET 10.0 (KB5097148, updating to 10.0.9), per the ManageEngine Patch Tuesday tracking page. Organizations running multiple .NET versions should update all of them.
Containerized deployments need updated base images. Microsoft published mcr.microsoft.com/dotnet/runtime:9.0.17 and mcr.microsoft.com/dotnet/aspnet:9.0.17 on the release date.
How to Deploy the Update
KB5097150 is available through Windows Update for client operating systems and WSUS/Microsoft Update Catalog for servers. Per Microsoft's support article, .NET servicing updates are upgrades: installing 9.0.17 automatically removes the previous 9.0 version.
For Linux and macOS, update through package managers:
Ubuntu/Debian: sudo apt update && sudo apt upgrade dotnet-runtime-9.0 RHEL/Fedora: sudo dnf update dotnet-runtime-9.0
For containerized deployments, update Dockerfile base images to the 9.0.17 tags.
Applications must be restarted after installation. Microsoft recommends exiting all .NET-based applications before applying the update. No system restart is required, but running applications won't pick up the fixes until they're restarted.
Enterprise environments can deploy through WSUS, SCCM, Intune, or Azure Update Manager.
Known Issues and What to Watch
The Anavem KB article for KB5097150 documents several known post-update issues. Applications using legacy BinaryFormatter serialization may encounter compatibility problems due to enhanced security validation. Microsoft provides a temporary environment variable as a workaround while migrating code.
ASP.NET Core apps may hit HTTP 413 errors if they process very large requests, as the security fix tightens default request size limits in Kestrel. This can be resolved by configuring appropriate limits in appsettings.json.
Applications using custom certificate validation should be tested, as CVE-2026-26920's fix strengthens TLS certificate chain validation logic. Self-signed certificates and custom CAs may be affected.
The June 2026 Patch Tuesday was one of the largest releases, with 206 CVEs across Microsoft's product portfolio per Talos Intelligence. Organizations should prioritize the .NET updates alongside their Windows patching.
Timeline
KB5097150 released on Patch Tuesday
Microsoft publishes KB5097150 updating .NET 9.0 to 9.0.17.
Source: Microsoft Support
Confidence: High
Updated container images published
Microsoft Container Registry publishes updated dotnet/runtime:9.0.17 and dotnet/aspnet:9.0.17 images.
Source: Vulners
Confidence: High
Impact
Unpatched .NET 9 apps exposed to RCE, DoS, and info disclosure.
Business impact
Public-facing ASP.NET Core apps at risk of DoS. Apps processing untrusted serialized data at risk of compromise.
Technical impact
RCE in deserialization, DoS in Kestrel, info disclosure in TLS validation.
Security impact
Critical RCE (CVSS 9.8) in deserialization. High DoS (CVSS 7.5) in ASP.NET Core.
Affected audience: Developers running .NET 9 in production, DevOps teams managing .NET containers
Action required.
Technical details
- CVEs
- CVE-2026-26918, CVE-2026-26919, CVE-2026-26920
- CVSS
- 9.8
- Attack vector
- Network (deserialization via untrusted input; HTTP requests)
- Affected versions
- .NET 9.0.0-9.0.16, ASP.NET Core 9.0.0-9.0.16
- Patched versions
- .NET 9.0.17, ASP.NET Core 9.0.17
Detection methods
- Check .NET version with dotnet --list-runtimes
Mitigations
- Update to .NET 9.0.17
- Avoid BinaryFormatter with untrusted data
Workarounds
- Migrate deserialization to System.Text.Json
- Configure Kestrel request size limits
Technical references
Response
Vendor statement
Microsoft published KB5097150 updating .NET 9.0 to 9.0.17.
Customer guidance
Update via Windows Update, package managers, or container images. Restart all .NET applications.
Response status: Patched
Patch available: Yes
Workaround available: Yes
FAQ
Does KB5097150 require a system restart?
No system restart is required. However, all running .NET 9.0 applications must be restarted after installation for the security fixes to take effect.
Which .NET versions are affected?
.NET 9.0 versions 9.0.0 through 9.0.16 are affected. Parallel updates are available for .NET 8.0 (KB5097149) and .NET 10.0 (KB5097148).
How do I update .NET 9 in Docker containers?
Update your Dockerfile base images to mcr.microsoft.com/dotnet/runtime:9.0.17 and mcr.microsoft.com/dotnet/aspnet:9.0.17. Rebuild and redeploy your containers.
Will BinaryFormatter still work after this update?
BinaryFormatter may encounter compatibility issues. A temporary environment variable workaround is available while migrating to safer serializers like System.Text.Json.
Is this update cross-platform?
Yes. KB5097150 applies to .NET 9.0 on Windows, Linux (Ubuntu, RHEL, SUSE, Debian), and macOS 12.0+.
The bottom line
KB5097150 updates .NET 9.0 to 9.0.17, fixing a critical deserialization RCE (CVE-2026-26918), a high-severity ASP.NET Core DoS (CVE-2026-26919), and a medium-severity info disclosure (CVE-2026-26920).
Update .NET 9.0 to 9.0.17 on all platforms, restart applications, and migrate off BinaryFormatter.
What happens next
Monitor for exploitation activity. Plan migration from BinaryFormatter to safer serializers.
What to do
Run dotnet --list-runtimes to check your version and update to 9.0.17.
Sources
- .NET 9.0 Update - June 9, 2026Official
Microsoft Support · Jun 9, 2026 · Primary source
Claims supported
- Updates .NET 9.0 to 9.0.17
ManageEngine · Jun 9, 2026
Claims supported
- KB5097150 listed as .NET 9.0.17
Vulners · Jun 9, 2026
Claims supported
- 2026-06 .NET 9.0.17 Security Update
Cisco Talos Intelligence · Jun 9, 2026
Claims supported
- 206 CVEs in June 2026 Patch Tuesday