„`html
Zusammenfassung
CVE-2026-9487 ist eine kritische Sicherheitslücke in XML::Sig für Perl (Versionen vor 0.71), die Angreifern ermöglicht, XML-Signaturen durch Duplicate-ID-Angriffe zu umgehen. Die Schwachstelle erlaubt es, signierte XML-Dokumente zu manipulieren, ohne dass die Signaturvalidierung fehlschlägt. In SAML2-Kontexten können Angreifer dadurch Assertions unter ihre Kontrolle bringen.
Betroffene Systeme
Die Schwachstelle betrifft alle Installationen von XML::Sig in den Versionen vor 0.71. Dies umfasst insbesondere:
- Perl-basierte SAML2-Implementierungen und Identity-Provider
- XML-Signatur-Validierungssysteme mit XML::Sig-Abhängigkeiten
- Legacysysteme, die die betroffene Bibliotheksversion nutzen
Technische Details
Die Schwachstelle liegt in der Funktion _get_signed_xml() in lib/XML/Sig.pm. Diese Funktion wird von verify() aufgerufen und nutzt den XPath-Ausdruck „//*[@ID=’$id‘]“, um auf die SignedInfo Reference/@URI zuzugreifen. Die Implementierung gibt den ersten Knoten aus dem Knotensatz zurĂĽck.
Das kritische Problem: Wenn zwei Elemente dasselbe ID-Attribut besitzen, akzeptiert die Validierung das Dokument. Die Digest- und Signaturprüfung erfolgt gegen das erste Element (Dokumentreihenfolge), während das zweite, manipulierte Element nicht erkannt wird. Dies ermöglicht Signature-Wrapping-Angriffe.
In SAML2-Szenarien kann ein Angreifer eine valide signierte SAML-Assertion duplizieren und die zweite Instanz mit böswilligem Inhalt ersetzen. Die XML-Signaturvalidierung schlägt nicht fehl, während SAML2-Konsumenten die attacker-kontrollierte Assertion verarbeiten.
Empfohlene Massnahmen
- Sofortiges Upgrade auf XML::Sig 0.71 oder neuer durchfĂĽhren
- Dependency-Management ĂĽberprĂĽfen und Updates in Build-Prozesse integrieren
- Zusätzliche XML-Validierung gegen Duplicate-IDs implementieren
- SAML2-Implementierungen auf Exploitversuche prĂĽfen
- Eingabe-Validierung und SignaturprĂĽfungen hardening
Bewertung
CVSS-Score: 9.1 (Critical)
Der hohe CVSS-Wert reflektiert das kritische Risiko: Netzwerk-basierte Ausnutzbarkeit ohne Authentifizierung, komplette Kompromittierung der Signaturintegrität und potenzielle Authentifizierungsumgehung in SAML2-Umgebungen. Immediate Patching ist erforderlich.
„`