„`html
Zusammenfassung
CVE-2026-13577 ist eine Sicherheitslücke in Dancer2 (Perl Web-Framework) bis Version 2.1.0, die unsichere Session-IDs generiert, wenn kryptographisch sichere Zufallszahlengeneratoren (CSPRNG) nicht verfügbar sind. Die Funktion Dancer2::Core::Role::SessionFactory::generate_id fällt auf einen schwachen, durch rand() basierten Fallback-Mechanismus zurück, was zu vorhersehbaren Session-IDs führt.
Betroffene Systeme
- Dancer2 Framework ≤ Version 2.1.0 für Perl
- Systeme ohne installierte Module: Math::Random::ISAAC::XS und Crypt::URandom
- Web-Anwendungen, die auf Dancer2 basieren
Technische Details
Der Fallback-Mechanismus kombiniert mehrere Low-Entropy-Quellen zur Session-ID-Generierung:
- SHA-1-Hash des Ergebnisses von
rand() - Absoluter Modulpfad (statisch)
- Interner Zähler (inkrementell vorhersehbar)
- Process-ID (begrenzte Entropie)
- Speicheradresse des Modulinstanz (ASLR-abhängig)
- Sortierter String via
List::Util::shuffle(basiert ebenfalls aufrand())
Das integrierte rand() nutzt nur 32-Bit Seed und ist explizit für Sicherheitsanwendungen ungeeignet. Diese Kombination ermöglicht es Angreifern, gültige Session-IDs zu erraten und auf fremde Sitzungen zuzugreifen.
Empfohlene Massnahmen
- Sofortige Maßnahme: Installation von Math::Random::ISAAC::XS oder Crypt::URandom sicherstellen
- Dancer2-Version aktualisieren, sobald ein Patch verfügbar ist
- Session-Management überprüfen und zusätzliche Sicherheitsmechanismen (z.B. IP-Binding) implementieren
- Bestehende Sessions invalidieren nach Patch-Deployment
- Web Application Firewalls (WAF) aktivieren zur Session-Anomalie-Erkennung
Bewertung
CVSS-Score: 8.2 (High)
Die Schweregrad ist erheblich, da die Schwachstelle netzwerkbasiert ausgenutzt werden kann und direkt zur Authentifizierungsumgehung führt. Ohne verfügbare offizielle Patches sollten Betreiber sofort mitigierende Maßnahmen einleiten.
„`