„`html
Zusammenfassung
CVE-2026-74795 beschreibt eine kritische Schwachstelle in Scriban vor Version 6.6.0, bei der eine unkontrollierte Rekursion im Recursive-Descent-Parser zu einem Denial-of-Service (DoS) führt. Durch speziell konstruierte Templates mit extremer Verschachtelungstiefe kann die Anwendung zum Absturz gebracht werden.
Betroffene Systeme
- Scriban Versionen vor 6.6.0
- Alle Anwendungen, die Scriban zur Template-Verarbeitung nutzen
- Systeme, die benutzerkontrollierte oder externe Template-Eingaben verarbeiten
Technische Details
Die Schwachstelle liegt in der fehlenden Enforcement von Rekursionstiefe-Limits im Parser. Die ExpressionDepthLimit-Property in ParserOptions ist standardmäßig auf null (deaktiviert) gesetzt. Ein Angreifer kann Templates mit tausenden verschachtelten Klammern oder Blöcken einschleusen, die den Thread-Stack-Speicher erschöpfen.
Dies führt zu einer StackOverflowException, die in .NET nicht abgefangen werden kann und zum sofortigen, unwiederbringlichen Prozessabsturz führt. Der kritische Aspekt: Diese Exception ist nicht recoverable und terminiert den gesamten Hostprozess.
Angriffsvektor: Network-basiert, keine Authentifizierung erforderlich
CVSS-Score: 7.5 (High)
Empfohlene Massnahmen
- Sofortige Aktualisierung auf Scriban 6.6.0 oder höher durchführen
- ExpressionDepthLimit in ParserOptions explizit konfigurieren und auf angemessene Werte setzen
- Input-Validierung für externe Template-Quellen implementieren
- Template-Verarbeitung in isolierten Prozessen ausführen, um Systemausfälle zu minimieren
- Monitoring für abnormale Parser-Aktivitäten aktivieren
Bewertung
Diese Schwachstelle stellt ein hohes Risiko dar, insbesondere für Anwendungen mit öffentlicher Template-Upload-Funktionalität. Die Einfachheit der Exploitation kombiniert mit der fehlenden Möglichkeit der Exception-Behandlung in .NET macht dies zu einer kritischen Sicherheitslücke.
„`