Skip to content
Heist/ feed
Back to feed
Medium

safeurl: Missing IPv6 CIDR Ranges in Blocklist

Type: advisorySources: OSV

safeurl is a server-side request forgery protection library. Prior to 0.2.4, the privateNetworks list in ip.go omits the IPv6 ranges 64:ff9b:1::/48, 5f00::/16, 3fff::/20, and 100:0:0:1::/64. When an application enables IPv6 with EnableIPv6(true), an attacker-controlled destination in one of these ranges is not recognized as non-public and can pass the SSRF destination check, potentially allowing access to resources hosted within the omitted ranges. IPv6 is disabled by default, and configurations that retain EnableIPv6(false) are not exposed to this bypass. This issue is fixed in version 0.2.4.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-54452
Confirmed fixed CVEs
Not specified
Updated in this feed
4 Nov 2026, 19:30 UTC · Revision 1

Source evidence

safeurl: Missing IPv6 CIDR Ranges in Blocklist

core-osv · Original source

Published 14 Sept 2026, 16:14 UTC

safeurl is a server-side request forgery protection library. Prior to 0.2.4, the privateNetworks list in ip.go omits the IPv6 ranges 64:ff9b:1::/48, 5f00::/16, 3fff::/20, and 100:0:0:1::/64. When an application enables IPv6 with EnableIPv6(true), an attacker-controlled destination in one of these ranges is not recognized as non-public and can pass the SSRF destination check, potentially allowing access to resources hosted within the omitted ranges. IPv6 is disabled by default, and configurations that retain EnableIPv6(false) are not exposed to this bypass. This issue is fixed in version 0.2.4.

osv:CVE-2026-54452
Complete source record
{
  "id": "03cef648da6ad13f962294321238af19ffc26fa1c394f8d4d5c640ed0f6a299a",
  "url": "https://osv.dev/vulnerability/CVE-2026-54452",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "safeurl: Missing IPv6 CIDR Ranges in Blocklist",
    "summary": "safeurl is a server-side request forgery protection library. Prior to 0.2.4, the privateNetworks list in ip.go omits the IPv6 ranges 64:ff9b:1::/48, 5f00::/16, 3fff::/20, and 100:0:0:1::/64. When an application enables IPv6 with EnableIPv6(true), an attacker-controlled destination in one of these ranges is not recognized as non-public and can pass the SSRF destination check, potentially allowing access to resources hosted within the omitted ranges. IPv6 is disabled by default, and configurations that retain EnableIPv6(false) are not exposed to this bypass. This issue is fixed in version 0.2.4.",
    "evidence": "osv:CVE-2026-54452",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2026-54452",
      "aliases": [
        "CVE-2026-54452",
        "GHSA-xgch-x3mx-cm3c",
        "GO-2026-5997"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/doyensec/safeurl",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "a2c2075accde3e6448d6aaa9d6048fda6997d994"
                },
                {
                  "fixed": "d8f1021ea535b276f92999f0ec865da40e467016"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "0.2.4"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "fixed": "d8f1021ea535b276f92999f0ec865da40e467016"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "a2c2075accde3e6448d6aaa9d6048fda6997d994"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v0.2.4"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v0.2.3",
            "v0.2.2",
            "v0.2.1",
            "v0.2.0",
            "v0.1.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-54452.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:38.592343695Z",
      "provider": "osv",
      "references": [
        "https://github.com/doyensec/safeurl/releases/tag/v0.2.4",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/54xxx/CVE-2026-54452.json",
        "https://github.com/doyensec/safeurl/security/advisories/GHSA-xgch-x3mx-cm3c",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-54452",
        "https://github.com/doyensec/safeurl/commit/d8f1021ea535b276f92999f0ec865da40e467016",
        "https://github.com/doyensec/safeurl/pull/12"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-918"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/54xxx/CVE-2026-54452.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-54452",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 506193,
  "published_at": "2026-09-14T16:14:32.456+00:00"
}