CVE-2024-45390 – @blakeembrey/template
Package
Manager: npm
Name: @blakeembrey/template
Vulnerable Version: >=0 <1.2.0
Severity
Level: Medium
CVSS v3.1: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L
CVSS v4.0: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N
EPSS: 0.00538 pctl0.66566
Details
@blakeembrey/template vulnerable to code injection when attacker controls template input ### Impact It is possible to inject and run code within the template if the attacker has access to write the template name. ```js const { template } = require('@blakeembrey/template'); template("Hello {{name}}!", "exploit() {} && ((()=>{ console.log('success'); })()) && function pwned"); ``` ### Patches Upgrade to 1.2.0. ### Workarounds Don't pass untrusted input as the template display name, or don't use the display name feature. ### References Fixed by removing in https://github.com/blakeembrey/js-template/commit/b8d9aa999e464816c6cfb14acd1ad0f5d1e335aa.
Metadata
Created: 2024-09-03T19:42:25Z
Modified: 2024-11-18T16:27:09Z
Source: https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2024/09/GHSA-q765-wm9j-66qj/GHSA-q765-wm9j-66qj.json
CWE IDs: ["CWE-94"]
Alternative ID: GHSA-q765-wm9j-66qj
Finding: F422
Auto approve: 1