SecBoard
Zurück zur CVE-Übersicht

CVE-2026-106446

CRITICAL(9.8)

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Risk Signal Score25/100 — MITTEL
  • CVSS 9.8 — Kritisch

Erwähnungen (letzte 60 Tage)

Artikel

EPSS-Score

0.8%

Exploit-Wahrscheinlichkeit (30 Tage)

CVSS Score

9.8

Technische Schwere

SecBoard-Einordnung

CVE-2026-106446 betrifft Handlebars-Versionen von 4.0.0 bis 4.7.10. Die Schwachstelle ermöglicht die Umgehung der AST-Validierung in den Funktionen Handlebars.compile() und Handlebars.precompile(), wenn ein Angreifer ein Objekt anstelle eines Template-Strings bereitstellen kann. Dies kann zur Ausführung von beliebigem Code im Serverprozess führen, wenn die kompilierte Ausgabe gerendert oder die vorkompilierte Ausgabe geladen wird. Anwendungen, die ausschließlich Template-Strings übergeben, sind nicht betroffen. Die Schwachstelle wird mit einem CVSS-Score von 9.8 als kritisch eingestuft. Die EPSS-Wahrscheinlichkeit für eine Ausnutzung liegt bei 1%, was auf eine derzeit geringe, aber nicht zu vernachlässigende Exploit-Aktivität hindeutet. Sie ist derzeit nicht im KEV-Katalog gelistet, was bedeutet, dass keine aktive, bestätigte Ausnutzung durch staatliche Akteure bekannt ist. Security-Teams sollten umgehend prüfen, ob Handlebars in den betroffenen Versionen eingesetzt wird. Eine Priorisierung des Patchings auf Version 4.7.10 ist dringend empfohlen, insbesondere wenn die Anwendung Objekte als Template-Eingabe akzeptiert. Zusätzliches Monitoring auf ungewöhnliche Prozessaktivitäten kann als temporäre Mitigation dienen.

KI-gestützte Einordnung auf Basis der NVD-Daten.

Beschreibung

Handlebars provides the power necessary to let users build semantic templates. From 4.0.0 until 4.7.10, Handlebars.compile() and Handlebars.precompile() accept pre-parsed AST objects while validating only selected PathExpression, NumberLiteral, and BooleanLiteral values. This issue bypasses the AST validation introduced in version 4.7.9 for CVE-2026-33937. An attacker who can supply an object instead of a template string can place JavaScript expressions in unchecked values such as Program.blockParams.length, a non-PathExpression parameter depth, a non-string StringLiteral.value, or a non-string PathExpression.original. The compiler emits those values into generated JavaScript, causing code execution in the server process when compile output renders or wherever precompile output is loaded. Applications that pass only template strings are not affected. This issue is fixed in version 4.7.10.

GitHub Advisories

GHSA-8r5x-fm3f-whwjCRITICAL

Handlebars: JavaScript Injection via AST Type Confusion in compile (bypass of CVE-2026-33937)

npm/handlebars→ 4.7.10
GitHub Advisory

Referenzen