CVE-2026-69198
Fixed in a distro release EPSS <1%CVSS 6.9
ip-address is a library for parsing and manipulating IPv4 and IPv6 addresses in JavaScript. From 10.1.1 until 10.2.2, every special-use classification method is built on isInSubnet, which short-circuits to false whenever the address's own subnet mask is shorter than the reference range's mask. That mask comes verbatim from the CIDR suffix on the parsed input, so appending a suffix such as /0 suppresses classification entirely: isLoopback(), isPrivate(), isLinkLocal(), isCGNAT(), isMulticast(), isUnspecified(), isBroadcast(), isULA(), and getType() all report an internal address as unremarkable, while correctForm() and address still return the real internal target. An application that builds a network trust-boundary decision on these checks, for example a filter intended to block Server-Side Request Forgery, or SSRF, may therefore treat an internal target as external and allow the request. The underlying bit comparison is correct, and mask(n) already returns the first n bits of the full parsed address independently of subnetMask; the defect is solely that the containment guard sits in the classification path. This issue is fixed in version 10.2.2.
Products: beaugunderson ip-address
Fixed upstream
| Ecosystem | Package | Fixed in |
|---|---|---|
| npm | ip-address | 10.2.2 |
Distro releases
| Release | Package | Fixed in |
|---|---|---|
| Chainguard | actions-runner | 2.336.0-r5 |
| Chainguard | code-server | 4.130.0-r6 |
| Chainguard | graalvm-25-ce-nodejs | 25.0.4-r15 |
| Chainguard | kibana-9.3 | 9.3.8-r6 |
| Chainguard | kibana-9.3-iamguarded | no fix |
| Chainguard | kibana-9.4 | 9.4.4-r15 |
| Chainguard | kibana-9.4-iamguarded | 9.4.4-r15 |
| Chainguard | kubeflow-pipelines-apiserver | 2.17.2-r4 |
| Chainguard | kubeflow-pipelines-frontend | 2.17.0-r3 |
| Chainguard | kubeflow-pipelines-metadata-writer-compat | 2.17.2-r4 |
| Chainguard | langfuse-3-compat | 3.225.7-r6 |
| Chainguard | langfuse-3-worker | 3.225.1-r2 |
| Chainguard | langfuse-4-worker | 4.6.0-r0 |
| Chainguard | langfuse-fips-3-worker | 3.225.1-r1 |
| Chainguard | langfuse-fips-4-worker | 4.4.0-r0 |
| Chainguard | lerna | 9.0.7-r17 |
| Chainguard | librechat | 0.8.7-r7 |
| Chainguard | npm-12 | 12.0.2-r2 |
| Chainguard | opensearch-dashboards-2-fips-security-dashboards-plugin | 2.19.6-r1 |
| Chainguard | opensearch-dashboards-2-security-dashboards-plugin | 2.19.6-r14 |
| Chainguard | opensearch-dashboards-3 | 3.7.0-r13 |
| Chainguard | opensearch-dashboards-3-fips | 3.7.0-r18 |
| Chainguard | prism | 5.16.0-r4 |
| Chainguard | pulumi-language-nodejs | 3.256.0-r1 |
| Chainguard | renovate | 44.23.3-r1 |
| Chainguard | saf | 1.7.0-r0 |
| Chainguard | sqlpad | 7.5.7-r31 |
| Chainguard | unleash | 8.0.3-r5 |
| Chainguard | unleash-fips | 8.0.3-r7 |
| Chainguard | unleash-proxy | 1.4.19-r7 |
| Chainguard | wazuh-dashboard | 4.14.7-r5 |
| Chainguard | wazuh-dashboard-fips | 4.14.7-r5 |
| Chainguard | wazuh-dashboard-security-plugin | 4.14.7-r5 |
| Chainguard | wazuh-dashboard-security-plugin-fips | 4.14.7-r6 |
| Debian 14 | node-ip-address | 10.3.1-1 |
| Red Hat hummingbird 1 | grafana12.4 | 0:12.4.6-0.3.hum1 |
| Red Hat hummingbird 1 | grafana13.1 | 0:13.1.1-0.5.2.hum1 |
| Ubuntu 20.04 LTS | node-ip-address | no fix |
| Ubuntu 22.04 LTS | node-ip-address | no fix |
| Ubuntu 24.04 LTS | node-ip-address | no fix |
| Ubuntu 26.04 LTS | node-ip-address | no fix |
| Ubuntu 26.10 | node-ip-address | no fix |
| Wolfi | code-server | 4.130.0-r6 |
| Wolfi | kubeflow-pipelines-apiserver | 2.17.2-r4 |
| Wolfi | kubeflow-pipelines-frontend | 2.17.0-r3 |
| Wolfi | kubeflow-pipelines-metadata-writer-compat | 2.17.2-r4 |
| Wolfi | langfuse-3-compat | 3.225.7-r6 |
| Wolfi | langfuse-3-worker | 3.225.1-r2 |
| Wolfi | lerna | 9.0.7-r17 |
| Wolfi | npm-12 | 12.0.2-r2 |
| Wolfi | opensearch-dashboards-3 | 3.7.0-r13 |
| Wolfi | prism | 5.16.0-r4 |
| Wolfi | pulumi-language-nodejs | 3.256.0-r1 |
| Wolfi | renovate | 44.23.3-r1 |
| Wolfi | saf | 1.7.0-r0 |
| Wolfi | sqlpad | 7.5.7-r31 |