Details
Assignee
UnassignedUnassignedReporter
onms security jiraonms security jiraPriority
Medium
Details
Details
Assignee
Unassigned
UnassignedReporter
onms security jira
onms security jiraPriority
PagerDuty
PagerDuty
PagerDuty
Created August 2, 2023 at 12:48 PM
Updated August 2, 2023 at 7:04 PM
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.
Repository: OpenNMS/opennms-compass (https://github.com/OpenNMS/opennms-compass)
Dependabot: https://github.com/OpenNMS/opennms-compass/security/dependabot/29
CVE:
CVSS:
GHSA: GHSA-2cf5-4w76-r9qv
Severity: high
Ecosystem: npm
Package Name: handlebars
Vulnerable Version Range: >= 4.0.0, < 4.5.2
First Patched Version: 4.5.2