„`html
Zusammenfassung
Die Perl-Bibliothek Authen::TOTP in Versionen vor 0.1.1 weist eine kritische Schwachstelle auf. Das Modul generiert TOTP-Secrets (Time-based One-Time Password) unter Verwendung von Perls built-in rand()-Funktion, die kryptographisch unsicher ist. Dies ermöglicht es Angreifern, generierte Secrets vorherzusagen und thereby Multi-Faktor-Authentifizierungsmechanismen zu umgehen.
Betroffene Systeme
Alle Systeme und Anwendungen, die Authen::TOTP vor Version 0.1.1 einsetzen. Dies umfasst insbesondere:
- Perl-basierte Authentifizierungssysteme
- Web-Anwendungen mit TOTP-Integration
- Verwaltungsportale mit 2FA-Implementierung
Technische Details
Die rand()-Funktion in Perl basiert auf einem linearen Kongruenzgenerator und ist vollständig deterministisch. Sie ist nicht für kryptographische Anwendungen geeignet. Angreifer können die internen Zustände des PRNG (Pseudorandom Number Generator) ermitteln und dadurch TOTP-Secrets rekonstruieren.
Ein korrekter Secret-Generator muss kryptographisch sichere Zufallszahlen verwenden, beispielsweise durch /dev/urandom oder Perl-Module wie Crypt::Random.
Empfohlene Massnahmen
Dringende Patches: Upgrade auf Authen::TOTP Version 0.1.1 oder höher durchführen.
Sofortmassnahmen:
- Alle generierten TOTP-Secrets invalidieren und neu generieren
- Benutzer zur erneuten Authentifizierung auffordern
- Logs auf verdächtige Authentifizierungsversuche prüfen
- Kryptographisch sichere Secret-Generierung implementieren
Langfristig: Code-Review aller Authentifizierungskomponenten durchführen und Security-Tests in den CI/CD-Pipeline integrieren.
Bewertung
CVSS 7.5 (High): Die Schwachstelle ermöglicht einen netzwerkgestützten Angriff ohne Authentifizierung mit hohem Impact auf die Vertraulichkeit und Integrität von Authentifizierungsmechanismen. Das Fehlen eines Patches unterstreicht die Dringlichkeit von Mitigation-Massnahmen.
„`