GHSA-q765-wm9j-66qjMediumCVSS 7.3

@blakeembrey/template vulnerable to code injection when attacker controls template input

Published
September 3, 2024
Last Modified
November 18, 2024

🔗 CVE IDs covered (1)

📋 Description

Impact

It is possible to inject and run code within the template if the attacker has access to write the template name.

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.

🎯 Affected products1

  • npm/@blakeembrey/template:< 1.2.0

🔗 References (4)