CVE-2024-32962
Umgehung der XML-Signaturprüfung aufgrund unsachgemäßer Überprüfung der Signatur / Signatur-Spoofing
- Veröffentlicht
- 02.05.2024
- Aktualisiert
- 13.02.2025
- CNA zuweisen
- GitHub_M
- Beweise beobachtet
- 08.08.2026
Primäres CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:NNiedrig · nächste 30 Tage
- Perzentil
- 55,7 %
- Modelldatum
- 21.09.2026
EPSS ist eine statistische Schätzung, keine Gewissheit oder ein Maß für die Auswirkung. Kombinieren Sie es mit CVSS, KEV-Status, Belichtung und Ihrer Umgebung.
Zusammenfassung
xml-crypto ist eine Bibliothek für digitale XML-Signaturen und -Verschlüsselung für Node.js. In betroffenen Versionen prüft die Standardkonfiguration nicht die Autorisierung des Unterzeichners, sondern nur die Gültigkeit der Signatur gemäß Abschnitt 3.2.2 der w3-Spezifikation xmldsig-core-20080610. Daher erlaubt die Standardkonfiguration ohne zusätzliche Validierungsschritte einem Angreifer, ein XML-Dokument erneut zu signieren, das Zertifikat in einem `<KeyInfo />`-Element zu platzieren und die Standard-Validierungsprüfungen von `xml-crypto` zu bestehen. Infolgedessen vertraut `xml-crypto` standardmäßig jedem Zertifikat, das über das `<KeyInfo />`-Element eines digital signierten XML-Dokuments bereitgestellt wird. `xml-crypto` bevorzugt die Verwendung eines über das `<KeyInfo />`-Element eines digital signierten XML-Dokuments bereitgestellten Zertifikats, selbst wenn die Bibliothek so konfiguriert wurde, ein bestimmtes Zertifikat (`publicCert`) zur Signaturprüfung zu verwenden. Ein Angreifer kann die Signaturprüfung fälschen, indem er das XML-Dokument modifiziert und die vorhandene Signatur durch eine mit einem bösartigen privaten Schlüssel (vom Angreifer erstellt) erzeugte Signatur ersetzt und das Zertifikat dieses privaten Schlüssels an das `<KeyInfo />`-Element anhängt. Diese Schwachstelle ist eine Kombination aus Änderungen, die in `4.0.0` mit Pull Request 301 / Commit `c2b83f98` eingeführt wurden, und wurde in Version 6.0.0 mit Pull Request 445 / Commit `21201723d` behoben. Benutzern wird empfohlen, ein Upgrade durchzuführen. Benutzer, die kein Upgrade durchführen können, können entweder das über `getCertFromKeyInfo` extrahierte Zertifikat vor der Annahme der Validierungsergebnisse gegen vertrauenswürdige Zertifikate prüfen oder `getCertFromKeyInfo` von `xml-crypto` auf `() => undefined` setzen, wodurch `xml-crypto` gezwungen wird, ein explizit konfiguriertes `publicCert` oder `privateKey` zur Signaturprüfung zu verwenden.
Quellen
1Verantwortungsvoller Umgang
Verwenden Sie Schwachstelleninformationen nur auf Systemen, die Sie besitzen oder zu deren Testen Sie berechtigt sind. Kitploit verlinkt auf öffentliche Forschungsmetadaten und speichert keinen Exploit-Code oder bösartige Payloads.