p PatchFirst

CVE-2026-33937

CVE-2026-33937 · Handlebars.js has JavaScript Injection via AST Type Confusion

This page contains facts from public vulnerability sources. Check the original advisory before updating.

Handlebars provides the power necessary to let users build semantic templates. In versions 4.0.0 through 4.7.8, `Handlebars.compile()` accepts a pre-parsed AST object in addition to a template string. The `value` field of a `NumberLiteral` AST node is emitted directly into the generated JavaScript without quoting or sanitization. An attacker who can supply a crafted AST to `compile()` can therefore inject and execute arbitrary JavaScript, leading to Remote Code Execution on the server. Version 4.7.9 fixes the issue. Some workarounds are available. Validate input type before calling `Handlebars.compile()`; ensure the argument is always a `string`, never a plain object or JSON-deserialized value. Use the Handlebars runtime-only build (`handlebars/runtime`) on the server if templates are pre-compiled at build time; `compile()` will be unavailable.

CVSS 9.8 · Critical · EPSS 1.9% · Fix available

Published
Updated

Stack: system · node

Affected products and versions

  • handlebars.js

    Versions
    • >= 4.0.0, < 4.7.9: Affected

    No fix published

  • node-handlebars Debian:12

    Versions
    • 3:4.7.10-1
    • 3:4.7.7+~4.1.0-1
    • 3:4.7.9-1
    • 3:4.7.9-2
    • 3:4.7.9-3
    • 3:4.7.9-4
    • 3:4.7.9-5
    • 3:4.7.9-6
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • node-handlebars Debian:13

    Versions
    • 3:4.7.10-1
    • 3:4.7.7+~4.1.0-1
    • 3:4.7.9-1
    • 3:4.7.9-2
    • 3:4.7.9-3
    • 3:4.7.9-4
    • 3:4.7.9-5
    • 3:4.7.9-6
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • node-handlebars Debian:14

    Versions
    • 3:4.7.7+~4.1.0-1
    Affected ranges
    • ECOSYSTEM: < 3:4.7.9-1

    Update to 3:4.7.9-1

  • handlebars npm

    Affected ranges
    • SEMVER: ≥ 4.0.0, < 4.7.9

    Update to 4.7.9

  • node-handlebars Ubuntu:18.04:LTS

    Versions
    • 3:4.0.10-5
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • node-handlebars Ubuntu:20.04:LTS

    Versions
    • 3:4.1.0-1
    • 3:4.5.3-1
    • 3:4.7.2-1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • node-handlebars Ubuntu:22.04:LTS

    Versions
    • 3:4.7.6+~4.1.0-2
    • 3:4.7.7+~4.1.0-1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • node-handlebars Ubuntu:24.04:LTS

    Versions
    • 3:4.7.7+~4.1.0-1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • node-handlebars Ubuntu:25.10

    Versions
    • 3:4.7.7+~4.1.0-1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • node-handlebars Ubuntu:26.10

    Versions
    • 3:4.7.7+~4.1.0-1
    • 3:4.7.9-5
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • node-handlebars Ubuntu:26.04:LTS

    Versions
    • 3:4.7.7+~4.1.0-1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

Original sources

Check your server →