„`html
Zusammenfassung
Die Sicherheitslücke CVE-2026-9390 betrifft die Perl-Bibliothek XML::Sig in Versionen vor 0.71. Eine XPath-Injection-Schwachstelle ermöglicht es Angreifern, die Validierung von XML-Signaturen zu umgehen. Durch manipulierte SignedInfo/Reference/@URI-Werte können beliebige XPath-Operatoren eingefügt werden, was zur Verifikation falscher Dokumente führt.
Betroffene Systeme
Betroffen sind alle Systeme, die XML::Sig-Versionen vor 0.71 verwenden. Dies umfasst insbesondere:
- Perl-Anwendungen mit XML-Signatur-Verarbeitung
- SAML-Implementierungen, die auf XML::Sig basieren
- Digitale Signatur-Verifikationssysteme
- XML-basierte Authentifizierungs-Mechanismen
Technische Details
Die Schwachstelle liegt in den Funktionen verify() und _get_signed_xml() in lib/XML/Sig.pm. Diese konstruieren XPath-Ausdrücke durch direkte Konkatenation des URI-Wertes aus dem signierten Dokument.
Der kritische Fehler: Der URI-Wert wird weder escaped noch gegen die NCName-Grammatik der XML-Spezifikation validiert. Ein einfaches Anführungszeichen im URI-Wert beendet das String-Literal des XPath-Ausdrucks und ermöglicht das Einfügen beliebiger XPath-Operatoren.
Beispiel-Angriff: Ein manipulierter URI wie id' or 1=1 or 'a'='a kann dazu führen, dass unbeabsichtigte Elemente zur Digest-Verifikation herangezogen werden oder sogar alle Dokument-Elemente matches werden.
Empfohlene Massnahmen
- Sofortige Aktualisierung auf XML::Sig 0.71 oder neuer
- Validierung aller XML-Signatur-Eingaben in kritischen Systemen
- Überwachung auf XML::Sig-Verwendung in der eigenen Infrastruktur
- Implementierung zusätzlicher Input-Validierung auf Anwendungsebene
Bewertung
CVSS-Score: 9.1 (Critical)
Der kritische Schweregrad ist berechtigt: Die Schwachstelle unterminiert die grundlegende Sicherheitsfunktion der XML-Signatur-Verifikation. Ein Remote-Angreifer kann ohne Authentifizierung manipulierte Dokumente als legitim validieren, was erhebliche Sicherheitsrisiken für vertrauensabhängige Systeme darstellt.
„`