CVE-2026-50528

Incorrect Authorization
Affects
.NET
in
.NET
No items found.
Versions
>= 6.0.0 <= 6.0.42
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.

An authorization bypass vulnerability (CVE-2026-50528) has been identified in .NET's server-side Negotiate authentication (NegotiateStream), which allows attackers to bypass a required Extended Protection (channel binding) control on non-Windows hosts and relay authenticated Negotiate/NTLM credentials to a server that believes it is protected.

Per CWE-863: Incorrect Authorization, the product performs an authorization check when an actor attempts to access a resource or perform an action, but it does not correctly perform the check.

This issue affects multiple versions of .NET, including the End-of-Life .NET 6.0 line covered by NES.

Details

Module Info

Vulnerability Info

This High-severity vulnerability is found in the System.Net.Security components of the Microsoft.NETCore.App shared framework in multiple versions of .NET. On non-Windows platforms the ExtendedProtectionPolicy.OSSupportsExtendedProtection property reports that Extended Protection (channel binding) is supported even though the platform cannot genuinely enforce it. Its getter returns a hardcoded true:

// .NET Core is supported only on Win7+ where ExtendedProtection is supported.
return true;

When a server-side Negotiate authentication handler (NegotiateStream.AuthenticateAsServer) is configured with new ExtendedProtectionPolicy(PolicyEnforcement.Always, ...), it relies on this property to decide whether the required channel binding is in force. Because the property is unconditionally true, the server accepts the configuration and proceeds without ever enforcing channel binding on Unix, and no error is raised. A network attacker can then relay captured NTLM or Kerberos (Negotiate) credentials to the server, which believes it is protected by Extended Protection when it is not. HeroDevs NES for .NET 6 targets Linux, so the exploitable configuration (Extended Protection required on a non-Windows host) is directly in scope.

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:
    • .NET Runtime >= 8.0.29
    • .NET Runtime >= 9.0.18
    • .NET Runtime >= 10.0.10
  • Leverage a commercial support partner like HeroDevs for post-EOL security support, including NES for .NET 6.0.43 or later.

Credits

Microsoft credits Henrique Pereira of Microsoft and Ky0toFu for reporting this vulnerability.

Vulnerability Details
Severity
Level
CVSS Assessment
Low
>=0 <4
Medium
>=4 <6
High
>=6 <8
Critical
>=8 <10
High
ID
CVE-2026-50528
PROJECT Affected
.NET
Versions Affected
>= 6.0.0 <= 6.0.42
NES Versions Affected
Published date
August 3, 2026
≈ Fix date
July 16, 2026
Fixed in
Category
Incorrect Authorization
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.