CVE-2026-96959

Allocation of Resources Without Limits or Throttling
Affects
.NET
in
.NET
No items found.
Versions
Microsoft.AspNetCore.App, Microsoft.WindowsDesktop.App >= 6.0.0 <= 6.0.46; System.Security.Cryptography.Xml >= 6.0.0 <= 6.0.2.2

Patch Available.

Exclamation circle icon
Patch Available

This Vulnerability has been fixed in the Never-Ending Support (NES) version offered by HeroDevs.

Overview

.NET is a free, open-source, cross-platform framework for building modern apps and powerful cloud services. It consists of a runtime and a developer platform made up of tools, programming languages, and libraries for building many different types of applications.

A denial of service vulnerability (CVE-2026-96959) has been identified in .NET's XML Encryption implementation, EncryptedXml in System.Security.Cryptography.Xml, which allows an unauthenticated attacker to exhaust resources on an application that decrypts attacker-supplied XML by chaining decryption through CipherReference elements.

Per CWE-770: Allocation of Resources Without Limits or Throttling, the product allocates a reusable resource or group of resources on behalf of an actor without imposing any restrictions on the size or number of resources that can be allocated.

This issue affects .NET 6, including NES for .NET releases through 6.0.46. System.Security.Cryptography.Xml ships in-box in the ASP.NET Core and Windows Desktop shared frameworks, so every ASP.NET Core, WPF, and Windows Forms application carries it without a package reference, and it is also published as a standalone NuGet package. Applications are exposed when they decrypt untrusted XML through EncryptedXml, or verify signatures that use the XML decryption transform. Microsoft's advisory lists the System.Security.Cryptography.Xml package for 8.0, 9.0, 10.0 and the 11.0 previews as affected; .NET 6 is past end of life and is not assessed there.

Additionally, if you've deployed self-contained applications targeting any of the impacted versions, these applications are also vulnerable and must be recompiled and redeployed.

Details

Module Info

  • Product: .NET
  • Affected packages: Microsoft.AspNetCore.App and Microsoft.WindowsDesktop.App (in-box copies of System.Security.Cryptography.Xml); System.Security.Cryptography.Xml (standalone NuGet package)
  • Affected versions:
    • Microsoft.AspNetCore.App, Microsoft.WindowsDesktop.App >= 6.0.0 <= 6.0.46
    • System.Security.Cryptography.Xml >= 6.0.0 <= 6.0.2.2
  • Package manager: NuGet, Windows Installer, Docker
  • GitHub repository: https://github.com/dotnet/runtime
  • Published packages: Download .NET (Linux, macOS, and Windows); System.Security.Cryptography.Xml on NuGet
  • Fixed in: NES for .NET 6.0.47 (System.Security.Cryptography.Xml 6.0.2.3)

Vulnerability Info

This High-severity vulnerability is found in the EncryptedXml class of System.Security.Cryptography.Xml as shipped for .NET 6. XML Encryption lets an EncryptedData element point at its cipher data through a CipherReference, and that reference can apply transforms, including a decryption transform that starts a further decryption. Each nested decryption began with a fresh budget, so the library's limits on decryption work never accumulated across the chain, and a document that kept decrypting through CipherReference transforms could drive repeated nested work.

NES for .NET 6.0.47 scopes the decryption counters to the outermost public operation, such as a SignedXml signature check, an EncryptedXml decryption, or the decryption transform's output. Nested decryption through a CipherReference now counts against the same budget, 256 operations by default through the AppContext setting System.Security.Cryptography.Xml.DangerousMaxDecryptionCount, and exceeding it throws a CryptographicException.

CVE-2026-58280, CVE-2026-69651, CVE-2026-96958, CVE-2026-96959 and CVE-2026-96960 were reported separately and are addressed together by the same Signed XML hardening in NES for .NET 6.0.47, matching Microsoft's fix.

This vulnerability has been present since at least .NET 6.0 and likely earlier.

Mitigation

.NET 6 is End-of-Life and will not receive any updates to address this issue. For more information see .NET and .NET Core official support policy.

Users of the affected components should apply one of the following mitigations:

  • Upgrade affected applications to one of:
    • NES for .NET 6.0.47 or later
    • System.Security.Cryptography.Xml 8.0.5 or later (.NET 8)
    • System.Security.Cryptography.Xml 9.0.21 or later (.NET 9)
    • System.Security.Cryptography.Xml 10.0.13 or later (.NET 10)
  • Microsoft's advisory also directs .NET 8, 9 and 10 users to install the October runtime (8.0.32, 9.0.21 or 10.0.13), which updates the in-box copy.
  • Leverage a commercial support partner like HeroDevs for post-EOL security support, including NES for .NET 6.0.47 or later. Applications with an explicit System.Security.Cryptography.Xml package reference should also move it to 6.0.2.3 from the NES feed, because NuGet otherwise keeps resolving Microsoft's unpatched 6.0.2.

Credits

novice-22, Ky0toFu (@ky0tofu), and Dr.-Ing Ashar Javed (@soaj1664ashar), as credited in Microsoft's advisory.

Vulnerability Details
Severity
Level
CVSS Assessment
Low
>=0 <4
Medium
>=4 <6
High
>=6 <8
Critical
>=8 <10
High
ID
CVE-2026-96959
PROJECT Affected
.NET
Versions Affected
Microsoft.AspNetCore.App, Microsoft.WindowsDesktop.App >= 6.0.0 <= 6.0.46; System.Security.Cryptography.Xml >= 6.0.0 <= 6.0.2.2
NES Versions Affected
Published date
October 13, 2026
≈ Fix date
October 13, 2026
Fixed in
Category
Allocation of Resources Without Limits or Throttling
Vex Document
Download VEXHow do I use it?
Sign up for the latest vulnerability alerts fixed in
NES for .NET
Rss feed icon
Subscribe via RSS
or

By submitting the form I acknowledge receipt of our Privacy Policy.

Thanks for signing up for our Newsletter! We look forward to connecting with you.
Oops! Something went wrong while submitting the form.