Die entdeckte Schwachstelle CVE-2026-40372 offenbarte einen grundlegenden Fehler in den kryptographischen APIs des ASP.NET Core Data Protection-Systems. Der Fehler betrifft speziell die NuGet-Pakete Microsoft.AspNetCore.DataProtection in den Versionen 10.0.0 bis 10.0.6. Das Problem liegt darin, dass der verwaltete authentifizierte Verschlüsseler das HMAC-Validierungstag über die falschen Bytes der Nutzlast berechnet und den errechneten Hash in einigen Fällen verwirft.
Dies führt zu einem kritischen Sicherheitsrisiko: Angreifer können gefälschte Nutzlasten erstellen, die die Authentizitätsprüfungen des Data Protection-Systems passieren und damit zuvor geschützte Nutzlasten entschlüsseln. Besonders kritisch ist die Möglichkeit, Authentifizierungscookies, Anti-Forgery-Tokens, TempData und OIDC-Statustoken zu kompromittieren.
Microsoft warnte, dass Angreifer während des anfälligen Fensters als privilegierte Benutzer authentifiziert werden könnten, um die Anwendung zur Ausstellung legitim signierter Tokens zu zwingen – etwa Sitzungs-Refreshs, API-Schlüssel oder Passwort-Reset-Links. Diese Tokens bleiben nach einem Update auf Version 10.0.7 gültig, es sei denn, der DataProtection-Schlüsselbund wird rotiert.
Senior Program Manager Rahul Bhandari von Microsoft forderte alle Kunden unverzüglich auf, das Package Microsoft.AspNetCore.DataProtection auf Version 10.0.7 zu aktualisieren und ihre Anwendungen neu bereitzustellen. Dadurch wird die Validierungsroutine repariert und automatisch sichergestellt, dass gefälschte Nutzlasten abgelehnt werden.
Die Lücke ermöglicht Angreifern zwar Datenzugriff und -modifikation, beeinträchtigt aber nicht die Verfügbarkeit der Systeme. Trotzdem stellt sie eine erhebliche Bedrohung dar, insbesondere für Unternehmensanwendungen, die sensible Daten verarbeiten.
Dies ist bereits das zweite kritische Problem in ASP.NET Core innerhalb kurzer Zeit. Im Oktober hatte Microsoft eine HTTP-Request-Smuggling-Lücke (CVE-2025-55315) im Kestrel-Webserver gepatcht, die als die höchste Schweregrad-Bewertung in der ASP.NET-Core-Geschichte eingestuft wurde. Diese erlaubte authentifizierten Angreifern, Benutzer-Credentials zu entwenden oder den Server zum Absturz zu bringen.
