p PatchFirst

GHSA-2cf5-4w76-r9qv

GHSA-2cf5-4w76-r9qv · Arbitrary Code Execution in handlebars

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

Versions of `handlebars` prior to 3.0.8 or 4.5.2 are vulnerable to Arbitrary Code Execution. The package's lookup helper fails to properly validate templates, allowing attackers to submit templates that execute arbitrary JavaScript in the system. It can be used to run arbitrary code in a server processing Handlebars templates or on a victim's browser (effectively serving as Cross-Site Scripting). The following template can be used to demonstrate the vulnerability: ```{{#with "constructor"}} {{#with split as |a|}} {{pop (push "alert('Vulnerable Handlebars JS');")}} {{#with (concat (lookup join (slice 0 1)))}} {{#each (slice 2 3)}} {{#with (apply 0 a)}} {{.}} {{/with}} {{/each}} {{/with}} {{/with}} {{/with}}``` ## Recommendation Upgrade to version 3.0.8, 4.5.2 or later.

CVSS 7.3 · High · Fix available

Published
Updated

Stack: node

Affected products and versions

  • handlebars npm

    Affected ranges
    • SEMVER: < 3.0.8

    Update to 3.0.8

  • handlebars npm

    Affected ranges
    • SEMVER: ≥ 4.0.0, < 4.5.2

    Update to 4.5.2

Original sources

Check your server →