{"id":"CVE-2021-28918","aliases":["CLSA-2026-1776904637","EUVD-2021-0754","GHSA-4c7m-wxvm-r7gc","GHSA-pch5-whg9-qr2r","ROOT-APP-NPM-CVE-2021-28918"],"status":"published","title":"Improper parsing of octal bytes in netmask","description":"Improper input validation of octal strings in netmask npm package v1.0.6 and below allows unauthenticated remote attackers to perform indeterminate SSRF, RFI, and LFI 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.","severity":{"version":"3.1","score":9.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","level":"critical","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-11","score":0.15037,"percentile":0.96766,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-20","CWE-704"],"published":"2021-03-29T21:32:05Z","modified":"2026-11-06T07:15:04Z","exploits":[{"source":"nuclei","id":"CVE-2021-28918","title":"Netmask NPM Package - Server-Side Request Forgery","type":"detection template","url":"https://github.com/projectdiscovery/nuclei-templates/blob/main/http/cves/2021/CVE-2021-28918.yaml"}],"fixes":[{"ecosystem":"npm","package":"netmask","fixed_in":["1.1.0"],"sources":["ghsa"]},{"ecosystem":"Root:npm","package":"netmask","fixed_in":["1.0.6-aikido.1"],"sources":["osv"]},{"ecosystem":"Root:npm","package":"@rootio/netmask","fixed_in":["1.0.6-root.io.1"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"npm","package":"netmask","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.1.0"}]}]},{"source":"osv","ecosystem":"TuxCare:npm","package":"netmask","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.0.6-tuxcare.0"},{"fixed":"1.0.6-tuxcare.1"}]}],"versions":["1.0.6"],"bundled":2},{"source":"osv","ecosystem":"npm","package":"netmask","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"1.1.0"}]}],"bundled":2},{"source":"osv","ecosystem":"npm","package":"netmask","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"2.0.1"}]}],"bundled":2},{"source":"osv","ecosystem":"Root:npm","package":"netmask","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.0.6-aikido.1"}]}]},{"source":"osv","ecosystem":"Root:npm","package":"@rootio/netmask","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.0.6-root.io.1"}]}]}],"products":[{"vendor":"netmask_project","product":"netmask"}],"references":[{"url":"https://www.npmjs.com/package/netmask","tags":["x_refsource_MISC","x_transferred","Product","Third Party Advisory","advisory","web"]},{"url":"https://github.com/rs/node-netmask","tags":["x_refsource_MISC","x_transferred","Third Party Advisory","advisory","web"]},{"url":"https://www.bleepingcomputer.com/news/security/critical-netmask-networking-bug-impacts-thousands-of-applications/","tags":["x_refsource_MISC","x_transferred","Exploit","Press/Media Coverage","Third Party Advisory","evidence"]},{"url":"https://github.com/advisories/GHSA-pch5-whg9-qr2r","tags":["x_refsource_MISC","x_transferred","Third Party Advisory","advisory"]},{"url":"https://github.com/sickcodes/security/blob/master/advisories/SICK-2021-011.md","tags":["x_refsource_MISC","x_transferred","Exploit","Third Party Advisory","evidence","web"]},{"url":"https://security.netapp.com/advisory/ntap-20210528-0010/","tags":["x_refsource_CONFIRM","x_transferred","Third Party Advisory","advisory"]},{"url":"https://rootdaemon.com/2021/03/29/vulnerability-in-netmask-npm-package-affects-280000-projects/","tags":["x_refsource_MISC","x_transferred","Third Party Advisory","advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2021-28918","tags":["advisory"]},{"url":"https://github.com/rs/node-netmask/blob/98294cb20695f2c6c36219a4fbcd4744fb8d0682/CHANGELOG.md#v110-mar-18-2021","tags":["web"]},{"url":"https://github.com/advisories/GHSA-4c7m-wxvm-r7gc"},{"url":"https://security.netapp.com/advisory/ntap-20210604-0001/","tags":["advisory"]},{"url":"https://vuln.ryotak.me/advisories/6","tags":["advisory","web"]},{"url":"https://github.com/rs/node-netmask/commit/3f19a056c4eb808ea4a29f234274c67bc5a848f4","tags":["fix","web"]},{"url":"https://rootdaemon.com/2021/03/29/vulnerability-in-netmask-npm-package-affects-280000-projects","tags":["web"]},{"url":"https://security.netapp.com/advisory/ntap-20210528-0010","tags":["web"]},{"url":"https://www.bleepingcomputer.com/news/security/critical-netmask-networking-bug-impacts-thousands-of-applications","tags":["web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2021-29418","tags":["advisory"]},{"url":"https://security.netapp.com/advisory/ntap-20210604-0001","tags":["web"]},{"url":"https://sick.codes/sick-2021-011","tags":["web"]},{"url":"https://sick.codes/universal-netmask-npm-package-used-by-270000-projects-vulnerable-to-octal-input-data-server-side-request-forgery-remote-file-inclusion-local-file-inclusion-and-more-cve-2021-28918","tags":["web"]}],"sources":{"cve":[{"id":"CVE-2021-28918","description":"Improper input validation of octal strings in netmask npm package v1.0.6 and below allows unauthenticated remote attackers to perform indeterminate SSRF, RFI, and LFI 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.","status":"published","published":"2021-04-01T12:33:50Z","modified":"2024-08-03T21:55:11.828Z","updated_at":"2026-11-02T14:33:08.811269Z"}],"euvd":[{"id":"EUVD-2021-0754","description":"Improper input validation of octal strings in netmask npm package v1.0.6 and below allows unauthenticated remote attackers to perform indeterminate SSRF, RFI, and LFI 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.","status":"published","published":"2021-04-01T12:33:50Z","modified":"2024-08-03T21:55:11Z","updated_at":"2026-11-03T03:24:46.117926Z"}],"ghsa":[{"id":"GHSA-4c7m-wxvm-r7gc","title":"Improper parsing of octal bytes in netmask","description":"Improper input validation of octal strings in netmask npm package v1.0.6 and below allows unauthenticated remote attackers to perform indeterminate SSRF, RFI, and LFI 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.\n\n:exclamation: NOTE: The fix for this issue was incomplete. A subsequent fix was made in version `2.0.1` which was assigned [CVE-2021-29418 / GHSA-pch5-whg9-qr2r](https://github.com/advisories/GHSA-pch5-whg9-qr2r). For complete protection from this vulnerability an upgrade to version 2.0.1 or later is recommended.","status":"published","published":"2021-04-14T15:03:16Z","modified":"2023-02-01T05:05:30Z","cvss":[{"version":"3.1","score":9.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","level":"critical"}],"cwes":["CWE-20"],"updated_at":"2026-11-02T14:36:34.260786Z"}],"nvd":[{"id":"CVE-2021-28918","description":"Improper input validation of octal strings in netmask npm package v1.0.6 and below allows unauthenticated remote attackers to perform indeterminate SSRF, RFI, and LFI 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.","status":"published","published":"2021-04-01T13:15:14.46Z","modified":"2026-06-17T03:47:02.553Z","cvss":[{"version":"3.1","score":9.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","level":"critical","assessor":"primary"},{"version":"2.0","score":6.4,"vector":"AV:N/AC:L/Au:N/C:P/I:P/A:N","level":"medium","assessor":"primary"}],"cwes":["CWE-704"],"updated_at":"2026-11-02T14:06:51.197859Z"}],"osv":[{"id":"CVE-2021-28918","description":"Improper input validation of octal strings in netmask npm package v1.0.6 and below allows unauthenticated remote attackers to perform indeterminate SSRF, RFI, and LFI 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.","status":"published","published":"2021-04-01T13:15:14.46Z","modified":"2026-10-20T10:54:36.957164061Z","cvss":[{"version":"3.1","score":9.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","level":"critical"}],"updated_at":"2026-11-02T15:44:19.129331Z"},{"id":"CVE-2021-29418","description":"The netmask package before 2.0.1 for Node.js mishandles certain unexpected characters in an IP address string, such as an octal digit of 9. This (in some situations) allows attackers to bypass access control that is based on IP addresses. NOTE: this issue exists because of an incomplete fix for CVE-2021-28918.","status":"published","published":"2021-03-30T07:15:13.113Z","modified":"2026-10-20T10:54:37.085230091Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T15:44:19.129331Z"},{"id":"GHSA-4c7m-wxvm-r7gc","title":"Improper parsing of octal bytes in netmask","description":"Improper input validation of octal strings in netmask npm package v1.0.6 and below allows unauthenticated remote attackers to perform indeterminate SSRF, RFI, and LFI 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.\n\n:exclamation: NOTE: The fix for this issue was incomplete. A subsequent fix was made in version `2.0.1` which was assigned [CVE-2021-29418 / GHSA-pch5-whg9-qr2r](https://github.com/advisories/GHSA-pch5-whg9-qr2r). For complete protection from this vulnerability an upgrade to version 2.0.1 or later is recommended.","status":"published","published":"2021-04-14T15:03:16Z","modified":"2026-09-10T03:49:26.521770326Z","cvss":[{"version":"3.1","score":9.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","level":"critical"}],"cwes":["CWE-20"],"updated_at":"2026-11-02T15:46:36.782754Z"},{"id":"GHSA-pch5-whg9-qr2r","title":"netmask npm package mishandles octal input data","description":"The netmask package before 2.0.1 for Node.js mishandles certain unexpected characters in an IP address string, such as an octal digit of 9. This (in some situations) allows attackers to bypass access control that is based on IP addresses. NOTE: this issue exists because of an incomplete fix for CVE-2021-28918.","status":"published","published":"2021-03-29T21:32:05Z","modified":"2026-09-10T03:49:14.440382329Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N","level":"medium"}],"cwes":["CWE-20"],"updated_at":"2026-11-02T15:46:52.891208Z"},{"id":"ROOT-APP-NPM-CVE-2021-28918","title":"CVE-2021-28918 in netmask - Patched by Root","description":"Root has patched CVE-2021-28918 in the netmask package for Root:npm. Multiple fixed versions available.","status":"published","published":"2026-11-06T06:12:32Z","modified":"2026-11-06T07:15:04.401151689Z","cvss":[{"version":"3.1","score":9.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","level":"critical"}],"updated_at":"2026-11-06T07:35:25.48647Z"},{"id":"CLSA-2026-1776904637","title":"TuxCare security update for netmask (2 CVEs)","description":"TuxCare rebuilt netmask to address 2 CVEs. Fixed in 1.0.6-tuxcare.1.","status":"published","published":"2026-08-04T14:52:28Z","modified":"2026-10-15T09:47:49.99235305Z","updated_at":"2026-11-02T15:43:44.384419Z"}]}}
