„`html
Zusammenfassung
CVE-2026-16231 ist eine High-Severity-Sicherheitslücke in der hbs-Bibliothek (Express View Engine für Handlebars), die zu Cross-Site Scripting (XSS)-Angriffen führt. Die registerAsyncHelper-API umgeht die automatische HTML-Escaping-Funktion von Handlebars, wodurch benutzerkontrollierte Daten unsanitized in gerenderte HTML-Seiten injiziert werden können.
Betroffene Systeme
Anfällige Versionen: hbs 2.1.0 bis 4.2.1
Patched Version: hbs 4.3.0 und neuer
Betroffen sind alle Anwendungen, die Express mit hbs als View Engine einsetzen und async Helper mit benutzerbeeinflussten Daten verwenden.
Technische Details
Die Schwachstelle besteht in der Behandlung asynchroner Helper durch registerAsyncHelper. Der Rendering-Prozess funktioniert zweistufig:
- Erster Pass: Async Helper gibt einen opaken Platzhalter zurück
- Double-Brace-Expression escaped nur den Platzhalter
- Nach dem Rendering: Der Platzhalter wird ohne HTML-Escaping durch den rohen Callback-Rückgabewert ersetzt
Diese Schwachstelle betrifft alle Rendering-Pfade (cached, uncached und layout). Angreifer können dadurch beliebigen HTML- und JavaScript-Code injizieren, was zu gespeichertem oder reflektiertem XSS führt.
CVSS v3.1 Score: 8.1 (High) – Network-basierter Angriffsvektor
Empfohlene Massnahmen
- Sofortiges Upgrade: Alle betroffenen Installationen auf hbs 4.3.0 oder neuer aktualisieren
- Input-Validierung: Benutzerdaten vor Übergabe an async Helper validieren und sanitizen
- Content Security Policy: CSP-Header implementieren zur Risikominderung
- SafeString-Nutzung: Falls intentionales Raw-HTML notwendig ist, explizit hbs.SafeString verwenden
- Abhängigkeitsprüfung: npm audit zur Identifikation weiterer anfälliger Komponenten durchführen
Bewertung
Diese Schwachstelle stellt eine signifikante Sicherheitsbedrohung dar. Die Umgehung automatischer Schutzmaßnahmen kombiniert mit einfacher Exploitierbarkeit erfordert sofortiges Handeln. Das Upgrade auf Version 4.3.0 ist zwingend erforderlich.
„`