„`html
Zusammenfassung
Die Perl-Bibliothek Crypt::Password in Versionen bis 0.28 weist eine Timing-Attack-Vulnerabilität auf. Die check_password-Methode nutzt den unsicheren eq-Operator zum Passwortvergleich, was es Angreifern ermöglicht, durch Zeitmessungen Rückschlüsse auf das zugrundeliegende Hash-Ergebnis zu ziehen.
Betroffene Systeme
- Crypt::Password Versionen ≤ 0.28
- Perl-basierte Anwendungen und Systeme mit dieser Abhängigkeit
- Web-Anwendungen mit eigenständiger Passwort-Authentifizierung
- Legacy-Systeme mit veralteten Perl-Modulen
Technische Details
Die Vulnerabilität basiert auf einer klassischen Timing-Attack-Schwachstelle. Der eq-Operator in Perl vergleicht Strings zeichenweise und bricht beim ersten Unterschied ab. Dies führt zu unterschiedlichen Verarbeitungszeiten:
- Falsche erste Zeichen: minimale Verarbeitungszeit
- Teilweise korrekte Hashes: längere Verarbeitungszeiten
- Vollständig korrekte Hashes: maximale Verarbeitungszeit
Durch wiederholte Anfragen und statistische Analyse dieser Zeitmessungen können Angreifer den korrekten Hash schrittweise rekonstruieren. Ein Netzwerk-Angreifer benötigt typischerweise Tausende Anfragen pro Zeichen.
Empfohlene Massnahmen
- Sofortiges Upgrade: Update auf eine gepatchte Version durchfĂĽhren (falls verfĂĽgbar)
- Konstant-Zeit-Vergleich: Einsatz von
Time::HiResoderDigest::HMACmit konstanter Verarbeitungszeit - Alternative Libraries: Migration zu
BcryptoderArgon2-basierten Lösungen - Rate Limiting: Implementierung von Authentifizierungs-Drosselung
- Monitoring: Überwachung auf verdächtige Authentifizierungsmuster
Bewertung
CVSS 7.5 (High): Netzwerk-basierter Angriffsvektor mit hoher Komplexität. Die fehlende Verfügbarkeit eines Patches erhöht das Risiko erheblich. Organisationen sollten schnellstmöglich auf sichere Implementierungen migrieren oder temporär Rate-Limiting einführen.
„`