CVE-2021-23758
Ajax.NET Professional Deserialization of Untrusted Data Vulnerability
Beschreibung
CVE-2021-23758 ist eine schwerwiegende Schwachstelle durch Deserialisierung nicht vertrauenswürdiger Daten, die alle Versionen des Pakets ajaxpro.2 sowie Ajax.NET Professional vor 21.10.30.1 betrifft. Die Bibliothek erlaubt die Deserialisierung beliebiger .NET-Klassen, was ein Angreifer zur Remote-Codeausführung auf dem Webserver missbrauchen kann, der die betroffene Komponente hostet. Da Ajax.NET Professional ein älteres AJAX-Framework ist, das in langlebigen .NET-Webanwendungen steckt, handelt es sich bei vielen betroffenen Installationen um Legacy-Systeme, deren Betreiber das Vorhandensein der Bibliothek womöglich gar nicht kennen. CVE-2021-23758 hat einen CVSS-Wert von 8.1 und einen außergewöhnlichen EPSS-Wert von rund 84 % im 99. Perzentil, öffentlicher Exploit-Code ist verfügbar, und Cisco Talos hat den Einsatz durch einen chinesischsprachigen Angreifer dokumentiert — die CISA nahm sie mit Frist zum 9. September 2026 in den Katalog bekannter ausgenutzter Schwachstellen (KEV) auf.
KEV-Informationen
CVSS-Score
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:HIm Rechner öffnenBetroffene Produkte
| Hersteller | Produkt | Version |
|---|---|---|
| ajaxpro.2 project | ajaxpro.2 | Alle Versionen |
| michaelschwarz | ajax.net professional | < 21.10.30.1 |
Mehrere CVSS-Bewertungen
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Referenzen
- http://packetstormsecurity.com/files/175677/AjaxPro-Deserialization-Remote-Code-Execution.html(Exploit, VDB Entry)
- https://github.com/michaelschwarz/Ajax.NET-Professional/commit/b0e63be5f0bb20dfce507cb8a1a9568f6e73de57(Patch, Third Party Advisory)
- https://snyk.io/vuln/SNYK-DOTNET-AJAXPRO2-1925971(Third Party Advisory)
- https://blog.talosintelligence.com/uat-10147-chinese-speaking-adversary-integrates-agentic-ai-into-post-compromise-operations/(Exploit, Third Party Advisory)
- https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2021-23758(US Government Resource)
Schwachstellentyp
CWE-502: Deserialisierung nicht vertrauenswürdiger Daten
Die Deserialisierung nicht vertrauenswürdiger Daten tritt auf, wenn eine Anwendung Objekte aus einer serialisierten Eingabe rekonstruiert, ohne hinreichend zu prüfen, ob das Ergebnis gültig und sicher ist. Da Deserialisierung beliebige Typen instanziieren und deren Initialisierungslogik ausführen kann, kontrolliert derjenige, der die serialisierte Payload kontrolliert, faktisch, welchen Code der Prozess ausführt. Bei CVE-2021-23758 deserialisiert Ajax.NET Professional beliebige .NET-Klassen aus Anfragedaten, sodass ein Angreifer einen Gadget-Typ wählen kann, dessen Konstruktionskette in Befehlsausführung mündet.
Mehr erfahren: CWE-502 — Deserialisierung nicht vertrauenswürdiger Daten
Auswirkungsanalyse
CVE-2021-23758 ist aus der Ferne über das Netzwerk ausnutzbar, ohne Authentifizierung und ohne Benutzerinteraktion, hat aber eine hohe Angriffskomplexität, weil der Angreifer eine geeignete Gadget-Kette in den geladenen Assemblies der Zielanwendung finden muss — eine Hürde, die bekannte .NET-Gadget-Kataloge in der Praxis weitgehend beseitigt haben. Gelingt die Ausnutzung, ist die Auswirkung hoch für Vertraulichkeit, Integrität und Verfügbarkeit: Der Code läuft im Kontext des Webanwendungsprozesses, legt Konfigurationsdateien, Connection Strings und alle für die Anwendung erreichbaren Daten offen, erlaubt die Veränderung des Anwendungsverhaltens und das Einbringen von Webshells und ermöglicht die Abschaltung des Dienstes. Da die betroffene Bibliothek typischerweise in internen oder perimeterseitigen Geschäftsanwendungen steckt, ist der kompromittierte Server häufig ein Sprungbrett ins interne Netz und nicht das eigentliche Ziel. Der CVSS-3.1-Basiswert beträgt 8.1 (hoch), doch entscheidend ist der EPSS-Wert von rund 84 % im 99. Perzentil — er signalisiert nahezu sichere, anhaltende Ausnutzung.
Exploit-Reifegrad
CVE-2021-23758 steht an der Spitze der Exploit-Reifeskala. Öffentlicher Exploit-Code ist verfügbar über Packet Storm Security, wo ein funktionierender Exploit zur AjaxPro-Deserialisierungs-Remote-Codeausführung veröffentlicht ist, und der Upstream-Fix-Commit ist zum Patch-Diffing öffentlich. Cisco Talos hat Forschung zu UAT-10147, einem chinesischsprachigen Angreifer, der agentische KI in Post-Compromise-Operationen integriert, veröffentlicht — als Exploit-Material gekennzeichnet und den Einsatz dieser Schwachstelle durch einen organisierten Bedrohungsakteur dokumentierend. Am auffälligsten ist der EPSS-Wert von rund 84 % im 99. Perzentil — einer der höchsten überhaupt vergebenen Werte und ein klares Signal, dass Angriffe kontinuierlich und nicht sporadisch erfolgen. Das KEV-Ransomware-Kennzeichen steht auf „Unknown", doch bei öffentlichem Exploit, dokumentiertem Angreifereinsatz und einem fünf Jahre alten Patch ist jede Anwendung, die AjaxPro noch ausliefert, bis zum Gegenbeweis als kompromittiert anzunehmen.
Behebung
- Die von der CISA geforderte Maßnahme sofort umsetzen. Mitigationen gemäß den Herstelleranweisungen anwenden, die BOD-26-04-Vorgaben der CISA („Prioritizing Security Updates Based on Risk") sowie die „Forensics Triage Requirements" einhalten und das Produkt außer Betrieb nehmen, falls keine Mitigationen verfügbar sind. Die KEV-Frist zum 9. September 2026 ist verstrichen.
- Ajax.NET Professional auf 21.10.30.1 oder neuer aktualisieren. Der Upstream-Fix-Commit behebt die unsichere Deserialisierung; beachten Sie, dass alle Versionen des NuGet-Pakets
ajaxpro.2betroffen sind — eine Abhängigkeit davon muss ersetzt und nicht bloß hochgezogen werden. - Die eigene Landschaft auf die Bibliothek inventarisieren. Da es sich um eine alte Komponente handelt, ist die Entdeckung der schwierigste Teil der Behebung: Durchsuchen Sie Build-Manifeste,
packages.config,bin-Verzeichnisse und ausgerollte Anwendungen nachAjaxPro,ajaxpro.2und der AjaxPro-HTTP-Handler-Registrierung inweb.configund prüfen Sie neben eigenem Code auch .NET-Anwendungen von Drittanbietern und Lieferanten. - Den AjaxPro-Handler sperren oder entfernen, wo ein Upgrade nicht sofort möglich ist. Entfernen Sie das AjaxPro-HTTP-Handler-Mapping aus
web.config, falls die Funktionalität ungenutzt ist, oder blockieren Sie Anfragen an die AjaxPro-Endpunktpfade am Reverse Proxy oder an der WAF — da die Ausnutzung das Erreichen des Deserialisierungsendpunkts voraussetzt, ist das Kappen dieses Pfades eine wirksame Eindämmung. - Nach Kompromittierung suchen und langfristig härten. Webserver auf Webshells und unerwartete Dateien in Anwendungsverzeichnissen untersuchen, IIS-Logs auf POST-Anfragen an AjaxPro-Endpunkte mit ungewöhnlich großen oder kodierten Payloads prüfen, auf neue geplante Aufgaben, Dienste und ausgehende Verbindungen achten und Anwendungs- sowie Datenbankzugangsdaten rotieren; anschließend die generelle Abwehr dieser Klasse anwenden — Daten aus unvertrauenswürdigen Quellen gar nicht deserialisieren, JSON oder andere Textformate mit explizit typisierten Modellen gegenüber binären oder typ-einbettenden Serialisierern bevorzugen und, wo Deserialisierung unvermeidbar ist, sie über eine strikte Allowlist zulässiger Typen begrenzen.
Technische Details
CVE-2021-23758 ist eine Deserialisierung nicht vertrauenswürdiger Daten (CWE-502) in Ajax.NET Professional. Zweck der Bibliothek ist das Vermitteln von Aufrufen zwischen Browser-JavaScript und serverseitigen .NET-Methoden, wozu .NET-Objekte aus Anfrage-Payloads rekonstruiert werden müssen. Der Defekt: Der Deserialisierer lässt beliebige .NET-Klassen zu, statt die Rekonstruktion auf die Typen zu beschränken, die ein bestimmter Endpunkt legitim erwartet. Ein Angreifer liefert eine Payload, die einen „Gadget"-Typ benennt — eine bereits in den geladenen Assemblies der Anwendung vorhandene Klasse, deren Konstruktor, Property-Setter oder Deserialisierungs-Callbacks Nebenwirkungen erzeugen — und verkettet diese Nebenwirkungen zur Befehlsausführung im Prozess. Es ist keine Speicherkorruption beteiligt; der Angriff besteht vollständig darin, das Typsystem der Anwendung selbst die Arbeit tun zu lassen, weshalb solche Fehler betriebssystem- und härtungsübergreifend zuverlässig funktionieren. Der CVSS-Vektor CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H hält einen unauthentifizierten, netzwerkseitig erreichbaren Angriff ohne Benutzerinteraktion, aber mit hoher Angriffskomplexität fest — bedingt durch die Notwendigkeit, eine brauchbare Gadget-Kette im konkreten Assembly-Bestand des Ziels zu finden — bei vollständiger Auswirkung auf Vertraulichkeit, Integrität und Verfügbarkeit und unverändertem Scope.
Häufig gestellte Fragen
Wird CVE-2021-23758 aktiv ausgenutzt?
Ja, in erheblichem Umfang. Die CISA führt CVE-2021-23758 mit bereits verstrichener Frist zum 9. September 2026 in ihrem Katalog bekannter ausgenutzter Schwachstellen, öffentlicher Exploit-Code zur AjaxPro-Deserialisierungs-Remote-Codeausführung liegt bei Packet Storm Security vor, und Cisco Talos hat den Einsatz durch den chinesischsprachigen Angreifer UAT-10147 dokumentiert. Der EPSS-Wert von etwa 84 % liegt im 99. Perzentil.
Welche Produkte sind von CVE-2021-23758 betroffen?
Betroffen sind alle Versionen des Pakets ajaxpro.2 sowie Ajax.NET Professional von Michael Schwarz vor Version 21.10.30.1. Die praktische Schwierigkeit ist das Auffinden: Die Bibliothek steckt in vielen Legacy-.NET-Webanwendungen, auch in solchen von Lieferanten, weshalb eine Inventarisierung der ausgerollten Assemblies und der web.config-Handler-Registrierungen nötig ist.
Wie behebe ich CVE-2021-23758?
Aktualisieren Sie Ajax.NET Professional auf 21.10.30.1 oder neuer und ersetzen Sie jede Abhängigkeit vom Paket ajaxpro.2, da sämtliche seiner Versionen betroffen sind. Wo ein sofortiges Upgrade unmöglich ist, entfernen Sie den AjaxPro-HTTP-Handler aus web.config oder blockieren dessen Endpunkte an der WAF; suchen Sie anschließend nach Webshells und rotieren Sie Anwendungs- und Datenbankzugangsdaten.
Wie schwerwiegend ist CVE-2021-23758?
CVE-2021-23758 ist als hoch mit einem CVSS-3.1-Basiswert von 8.1 eingestuft. Sie ist unauthentifiziert und netzwerkseitig ohne Benutzerinteraktion ausnutzbar und führt zu Remote-Codeausführung mit voller Auswirkung auf Vertraulichkeit, Integrität und Verfügbarkeit; die Angriffskomplexität ist als hoch bewertet, weil eine passende .NET-Gadget-Kette gefunden werden muss, doch öffentlicher Exploit-Code beseitigt diese Hürde in der Praxis, und ein EPSS-Wert im 99. Perzentil macht sie zur Notfallpriorität.
Hilfe beim Schwachstellenmanagement?
Unsere Sicherheitsexperten helfen Ihnen bei der Priorisierung und Behebung von Schwachstellen.