„`html
Zusammenfassung
Eine kritische Sicherheitslücke in Net::SAML2 (Perl-Modul) vor Version 0.86 ermöglicht die Umgehung der SAML-Authentifizierung durch XML-Signature-Wrapping-Angriffe. Angreifer können unsignierte, manipulierte SAML-Assertions in SAML-Response-Dokumenten einschleusen und so beliebige Benutzer-Identitäten annehmen.
Betroffene Systeme
Net::SAML2 Perl-Modul in Versionen vor 0.86. Betroffen sind alle Systeme und Anwendungen, die dieses Modul zur SAML-2.0-Authentifizierung nutzen, insbesondere Single-Sign-On (SSO) Implementierungen und Identity-Provider-Integrationen.
Technische Details
Die Vulnerabilität basiert auf einer Diskrepanz zwischen Signaturverifikation und Datenextraktion:
- Root Cause: Die Methode
new_from_xml()extrahiert kritische Identitätsinformationen (NameID, Attribute, SessionIndex, Audience) mittels dokumentweiter XPath-Abfragen wie//saml:Assertion/saml:AttributeStatement/saml:Attribute - Signaturproblematik: XML::Sig validiert nur die durch die Signature-Reference URI benannte Element, nicht aber alle Assertions im Dokument
- Angriffsvektor: Ein Angreifer, der eine gültig von der IdP signierte Assertion besitzt, kann eine zusätzliche unsignierte Assertion mit manipulierten Identitätsdaten früher im Dokumentbaum positionieren
- Exploitation: Die XPath-Abfrage gibt aufgrund der Dokumentreihenfolge die Daten der angreifer-kontrollierten Assertion zurück, während die Signaturprüfung dennoch erfolgreich ist
Das handle_response()-Verfahren bestätigt zwar die Signaturpräsenz und bei konfiguriertem CA-Zertifikat die Chain-Validität, prüft aber nicht, ob die extrahierten Identitätsfelder tatsächlich im signierten Elementbaum enthalten sind.
Empfohlene Massnahmen
- Sofortiges Upgrade auf Net::SAML2 Version 0.86 oder höher
- ĂśberprĂĽfung aller SAML-basierten Authentifizierungssysteme auf Betroffenheit
- Implementierung von Input-Validierung und Assertion-Verifizierung auf Applikationsebene
- Audit durchführen für verdächtige Authentifizierungsereignisse in Logs
Bewertung
CVSS Score: 8.1 (High)
Die Schweregradung ist gerechtfertigt durch den Netzwerkangriffsvektor, die fehlende Authentifizierungserfordernis (ein beliebiger IdP-signed Assertion genügt) und die kritischen Folgen: Vollständiger Authentifizierungs-Bypass mit Impersonation beliebiger Benutzer.
„`