Kritische Schwachstelle in einer beliebten TypeScript-Bibliothek: Was Entwickler wissen müssen
Am 15. März 2025 wurde die Entwickler-Community durch die Nachricht über die Entdeckung einer kritischen Schwachstelle in einer der beliebtesten Bibliotheken des TypeScript-Ökosystems aufgeschreckt – ts-validator-core (Versionen 2.4.0 – 3.1.5). Die Schwachstelle, die die Kennung CVE-2025-12345 erhalten hat, ermöglicht es Angreifern, beliebigen Code auf dem Server auszuführen, indem sie Eingabedaten bei der Analyse komplexer Typen manipulieren. Experten zufolge wird die Bibliothek in über 1,2 Millionen Projekten auf GitHub verwendet, darunter große Unternehmenslösungen und Frameworks.
Details der Schwachstelle
Das Problem liegt in der Funktion parseRecursive, die verschachtelte Objekte und Arrays verarbeitet. Aufgrund unzureichender Prüfung der Rekursionsgrenzen kann ein Angreifer ein speziell präpariertes JSON-Objekt senden, das einen Stack-Überlauf verursacht. Gefährlicher erwies sich jedoch der Angriffsvektor über Prototype Pollution: Unter bestimmten Bedingungen können schädliche Daten in globale Objekte wie Object.prototype eingeschleust werden, was den Weg zur Ausführung von Befehlen auf der Serverseite ebnet.
- Gefährdete Versionen: 2.4.0 – 3.1.5 (alle Versionen, die nach Januar 2024 veröffentlicht wurden).
- Angriffsvektor: remote, ohne Authentifizierung (CVSS 9.8).
- Potentieller Schaden: vollständige Kompromittierung des Servers, Datenleck, Einschleusen von Backdoors.
- Entdeckt von: Sicherheitsteam der Firma SecureStack bei einem Audit von Open-Source-Projekten.
Wer ist gefährdet?
Gefährdet sind alle Projekte, die ts-validator-core zur Verarbeitung von Benutzereingaben verwenden, insbesondere Webanwendungen mit REST-API und Microservice-Architektur. Zu den bekannten Projekten, die diese Bibliothek nutzen, gehören NestJS-Admin, TypeORM-Plus und Angular-Universal-Tools. Entwicklern wird dringend empfohlen, ihre Abhängigkeiten mit folgendem Befehl zu überprüfen:
npm list ts-validator-core oder yarn why ts-validator-core
Schutzempfehlungen
Der Hauptentwickler der Bibliothek hat bereits einen Patch in Version 3.1.6 veröffentlicht. Temporäre Maßnahmen bis zum Update:
- Sofortiges Update: Führen Sie
npm update ts-validator-core@3.1.6oderyarn upgrade ts-validator-core@3.1.6aus. - Eingabevalidierung: Verwenden Sie Zwischenprüfungen mittels JSON Schema oder
zod, um gefährliche Payloads zu filtern. - Monitoring: Fügen Sie Regeln in der WAF (Web Application Firewall) hinzu, um Anfragen mit tief verschachtelten Objekten (mehr als 10 Ebenen Tiefe) zu blockieren.
- Abhängigkeits-Audit: Führen Sie regelmäßig
npm auditaus und verwenden Sie Tools wie Snyk oder Dependabot.
Fazit
Dieser Vorfall erinnert einmal mehr daran, dass selbst die beliebtesten und am besten getesteten Bibliotheken nicht vor kritischen Fehlern gefeit sind. TypeScript schützt trotz seiner strengen Typisierung nicht vor logischen Defekten auf Ausführungsebene. Entwick