Umgehen der Überprüfung in der XML-Krypto-Bibliothek, die eine Million Downloads pro Woche hat

In der JavaScript-Bibliothek xml-crypto wurde eine Schwachstelle (CVE-402-2024) identifiziert, die in 32962 Projekten als Abhängigkeit verwendet und jede Woche etwa eine Million Mal aus dem NPM-Katalog heruntergeladen wird, der der maximale Schweregrad (10) zugewiesen wurde aus 10). Die Bibliothek bietet Funktionen zur Verschlüsselung und Überprüfung digitaler Signaturen von XML-Dokumenten. Die Schwachstelle ermöglicht es einem Angreifer, ein fiktives Dokument zu verifizieren, das in der Standardkonfiguration von der Bibliothek erfolgreich verifiziert wird, obwohl es mit einem anderen Schlüssel signiert ist als dem, der für die Signaturüberprüfung angegeben wurde. Das Problem trat ab Version xml-crypto 4.0.0 auf und wurde in der Januar-Version 6.0.0 stillschweigend behoben.

Die Schwachstelle entsteht dadurch, dass die Bibliothek in der Standardkonfiguration den Ersteller der Signatur nicht autorisiert, sondern lediglich die Korrektheit der Signatur selbst prüft. Insbesondere vertraut die Bibliothek jedem im signierten Dokument im KeyInfo-XML-Element platzierten Zertifikat, auch wenn in den Einstellungen die Verwendung eines bestimmten Zertifikats zur Überprüfung digitaler Signaturen festgelegt ist. Um ein geändertes Dokument erfolgreich zu verifizieren, muss ein Angreifer daher lediglich die ursprüngliche digitale Signatur durch eine von seinem privaten Schlüssel generierte Signatur ersetzen und das diesem privaten Schlüssel zugeordnete Zertifikat (öffentlichen Schlüssel) im KeyInfo-Element platzieren.

Source: opennet.ru

Kommentar hinzufügen