CVE-2026-47300: Microsoft.AspNetCore.Authentication.Negotiate Elevation of Privilege via LDAP Role Retrieval
A logic flaw in ASP.NET Core's Negotiate authentication handler lets a low-privileged network attacker gain elevated roles when LDAP is used to look up group membership, because the handler does not…
The problem
The Negotiate authentication handler in Microsoft.AspNetCore.Authentication.Negotiate supports an optional LDAP role-retrieval path, used on Linux and macOS where Kerberos tickets carry no group information. The handler calls into an LDAP adapter to fetch group claims after a successful Kerberos handshake.
Due to an incorrect implementation of the authentication algorithm (CWE-303), the role-validation step in that LDAP path is flawed. An authenticated network attacker can exploit this to have the handler assign them role claims they are not entitled to, elevating their privileges within the application.
The CVSS vector (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H) confirms full confidentiality, integrity, and availability impact requiring only a low-privilege account.
The fix
Update Microsoft.AspNetCore.Authentication.Negotiate to 10.0.10 (for .NET 10), 9.0.18 (for .NET 9), or 8.0.29 (for .NET 8). If you deploy self-contained applications, recompile and redeploy against the patched runtime. Applications that do not use Negotiate authentication with LDAP role retrieval are not affected and require no change.
Reported by Artur Stetsko.
Related research
- high · 8.8CVE-2026-47303CVE-2026-47303: Microsoft.AspNetCore.Authentication.Negotiate LDAP Injection Elevation of Privilege
- high · 7.5CVE-2026-32203CVE-2026-32203: System.Security.Cryptography.Xml EncryptedXml Stack Overflow via Deeply Nested XML
- high · 7.5CVE-2026-54632CVE-2026-54632: SIPSorcery Remote DoS via Malformed UDP Packet on RTP/ICE Socket
- high · 7.1CVE-2026-59867CVE-2026-59867: Microsoft Kiota SSRF and Local File Inclusion via Unrestricted OpenAPI $ref Resolution