Skip to content
Heist/ feed
Back to feed
High

V 0.5.2 SSRF Bypass via Parser Differential in net.urllib and net.http

Type: advisorySources: OSV

V through 0.5.2, fixed in commit 85859f0, contains a server-side request forgery (SSRF) bypass vulnerability that allows attackers to circumvent host-based allowlists by exploiting a parser differential between net.urllib and net.http. Attackers can craft a URL containing a backslash in the authority section such that net.urllib.parse() extracts the trusted host for allowlist validation while net.http.get() normalizes the backslash and connects to the internal host, enabling access to internal network services that the allowlist was intended to block.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-67201
Confirmed fixed CVEs
Not specified
Updated in this feed
7 Nov 2026, 20:48 UTC · Revision 1

Source evidence

V 0.5.2 SSRF Bypass via Parser Differential in net.urllib and net.http

core-osv · Original source

Published 29 Jul 2026, 18:12 UTC

V through 0.5.2, fixed in commit 85859f0, contains a server-side request forgery (SSRF) bypass vulnerability that allows attackers to circumvent host-based allowlists by exploiting a parser differential between net.urllib and net.http. Attackers can craft a URL containing a backslash in the authority section such that net.urllib.parse() extracts the trusted host for allowlist validation while net.http.get() normalizes the backslash and connects to the internal host, enabling access to internal network services that the allowlist was intended to block.

osv:CVE-2026-67201
Complete source record
{
  "id": "597d230a476547d163e41606d49b2bc12a829ebc3418029ace0bb99a8deef695",
  "url": "https://osv.dev/vulnerability/CVE-2026-67201",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "V 0.5.2 SSRF Bypass via Parser Differential in net.urllib and net.http",
    "summary": "V through 0.5.2, fixed in commit 85859f0, contains a server-side request forgery (SSRF) bypass vulnerability that allows attackers to circumvent host-based allowlists by exploiting a parser differential between net.urllib and net.http. Attackers can craft a URL containing a backslash in the authority section such that net.urllib.parse() extracts the trusted host for allowlist validation while net.http.get() normalizes the backslash and connects to the internal host, enabling access to internal network services that the allowlist was intended to block.",
    "evidence": "osv:CVE-2026-67201",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2026-67201",
      "aliases": [
        "CVE-2026-67201"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:N/SC:H/SI:N/SA:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/vlang/v",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "85859f0f3498d4091b38009c45ed390a97eeedc2"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "last_affected": "0.5.2"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StandardRange"
                  },
                  {
                    "range": [
                      {
                        "fixed": "85859f0f3498d4091b38009c45ed390a97eeedc2"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  }
                ]
              }
            }
          ],
          "versions": [
            "0.5.2",
            "0.5.1",
            "weekly.2026.08",
            "weekly.2026.07",
            "weekly.2026.06",
            "weekly.2026.05",
            "weekly.2026.04",
            "weekly.2026.03",
            "weekly.2026.02",
            "0.5",
            "weekly.2025.01",
            "weekly.2025.52",
            "weekly.2025.51",
            "weekly.2025.50",
            "weekly.2025.49",
            "weekly.2025.48",
            "weekly.2025.47",
            "weekly.2025.46",
            "weekly.2025.45",
            "weekly.2025.44",
            "weekly.2025.43",
            "weekly.2025.42",
            "weekly.2025.41",
            "weekly.2025.40",
            "weekly.2025.39",
            "0.4.12",
            "weekly.2025.38",
            "weekly.2025.37",
            "weekly.2025.36",
            "weekly.2025.35",
            "weekly.2025.34",
            "weekly.2025.33",
            "weekly.2025.32",
            "weekly.2025.31",
            "weekly.2025.30",
            "weekly.2025.29",
            "weekly.2025.28",
            "weekly.2025.27",
            "weekly.2025.26",
            "0.4.11",
            "weekly.2025.25",
            "weekly.2025.24",
            "weekly.2025.23",
            "weekly.2025.22",
            "weekly.2025.21",
            "weekly.2025.20",
            "weekly.2025.19",
            "weekly.2025.18",
            "weekly.2025.17",
            "weekly.2025.16",
            "weekly.2025.14",
            "weekly.2025.13",
            "0.4.10",
            "weekly.2025.12",
            "weekly.2025.11",
            "weekly.2025.10",
            "weekly.2025.09",
            "weekly.2025.08",
            "weekly.2025.07",
            "weekly.2025.06",
            "weekly.2025.05",
            "weekly.2025.04",
            "weekly.2025.03",
            "weekly.2025.1",
            "weekly.2024.53",
            "weekly.2024.52",
            "0.4.9",
            "weekly.2024.51",
            "weekly.2024.50",
            "weekly.2024.49",
            "weekly.2024.48",
            "weekly.2024.47",
            "weekly.2024.46",
            "weekly.2024.45",
            "weekly.2024.44",
            "weekly.2024.43",
            "weekly.2024.42",
            "weekly.2024.41",
            "0.4.8",
            "weekly.2024.39",
            "weekly.2024.37",
            "weekly.2024.36",
            "weekly.2024.35",
            "weekly.2024.34",
            "weekly.2024.33",
            "weekly.2024.32",
            "weekly.2024.31",
            "0.4.7",
            "weekly.2024.30",
            "weekly.2024.29",
            "weekly.2024.28",
            "weekly.2024.27",
            "weekly.2024.26",
            "weekly.2024.25",
            "weekly.2024.24",
            "weekly.2024.23",
            "weekly.2024.22",
            "0.4.6",
            "weekly.2024.20",
            "weekly.2024.19",
            "weekly.2024.18.2",
            "weekly.2024.18",
            "weekly.2024.17",
            "weekly.2024.16.1",
            "weekly.2024.16",
            "weekly.2024.14",
            "weekly.2024.13",
            "0.4.5",
            "weekly.2024.12",
            "weekly.2024.11",
            "weekly.2024.10",
            "weekly.2024.09",
            "weekly.2024.08",
            "weekly.2024.07",
            "weekly.2024.06",
            "weekly.2024.05",
            "weekly.2024.04",
            "weekly.2024.03",
            "0.4.4",
            "weekly.2024.01.test2",
            "weekly.2024.01.test",
            "weekly.2024.01",
            "weekly.2023.52",
            "weekly.2023.51",
            "weekly.2023.50",
            "weekly.2023.48",
            "weekly.2023.45.1",
            "weekly.2023.45",
            "weekly.2023.44",
            "weekly.2023.43",
            "weekly.2023.42",
            "weekly.2023.41",
            "weekly.2023.40.1",
            "weekly.2023.40",
            "0.4.2",
            "weekly.2023.39",
            "weekly.2023.38",
            "weekly.2023.37",
            "0.4.1",
            "weekly.2023.35",
            "weekly.2023.33",
            "weekly.2023.32.2",
            "weekly.2023.32.1",
            "weekly.2023.32",
            "weekly.2023.31",
            "weekly.2023.30",
            "weekly.2023.28",
            "weekly.2023.27",
            "0.4",
            "0.3.5",
            "weekly.2023.26",
            "weekly.2023.25",
            "weekly.2023.24",
            "weekly.2023.23",
            "weekly.2023.22",
            "weekly.2023.21",
            "weekly.2023.19",
            "0.3.4",
            "weekly.2023.17",
            "weekly.2023.15",
            "weekly.2023.14",
            "weekly.2023.13",
            "weekly.2023.12",
            "weekly.2023.11",
            "weekly.2023.10",
            "weekly.2023.09",
            "weekly.2023.08",
            "weekly.2023.07",
            "weekly.2023.06",
            "weekly.2023.05",
            "0.3.3",
            "weekly.2023.04",
            "weekly.2023.03",
            "weekly.2023.02",
            "weekly.2023.01",
            "weekly.2022.52",
            "weekly.2022.51",
            "weekly.2022.50",
            "weekly.2022.49",
            "weekly.2022.48",
            "weekly.2022.47",
            "weekly.2022.46",
            "weekly.2022.45",
            "0.3.2",
            "weekly.2022.44",
            "weekly.2022.43",
            "weekly.2022.42",
            "weekly.2022.41",
            "weekly.2022.40",
            "weekly.2022.39",
            "weekly.2022.38",
            "weekly.2022.37",
            "weekly.2022.36",
            "0.3.1",
            "weekly.2022.35",
            "weekly.2022.34",
            "weekly.2022.33",
            "weekly.2022.32",
            "weekly.2022.31",
            "weekly.2022.30",
            "weekly.2022.29",
            "weekly.2022.28",
            "0.3",
            "weekly.2022.26",
            "weekly.2022.24",
            "weekly.2022.22",
            "weekly.2022.21",
            "weekly.2022.20",
            "weekly.2022.19",
            "weekly.2022.18",
            "weekly.2022.16",
            "weekly.2022.15",
            "weekly.2022.13",
            "weekly.2022.12",
            "weekly.2022.11",
            "weekly.2022.10",
            "weekly.2022.09",
            "weekly.2022.07",
            "weekly.2022.06",
            "weekly.2022.05",
            "weekly.2022.04",
            "weekly.2022.03",
            "weekly.2022.02",
            "weekly.2022.01",
            "weekly.2021.52.1",
            "weekly.2021.52",
            "weekly.2021.51",
            "weekly.2021.50.3",
            "weekly.2021.50.2",
            "weekly.2021.50.1",
            "weekly.2021.50",
            "weekly.2021.48",
            "weekly.2021.47",
            "weekly.2021.46",
            "weekly.2021.45",
            "weekly.2021.44",
            "weekly.2021.43",
            "weekly.2021.42.1",
            "weekly.2021.42",
            "weekly.2021.41",
            "weekly.2021.39.1",
            "weekly.2021.39",
            "weekly.2021.38",
            "weekly.2021.37",
            "weekly.2021.36",
            "0.2.4",
            "weekly.2021.33.2",
            "weekly.2021.33.1",
            "weekly.2021.33",
            "weekly.2021.32",
            "weekly.2021.31",
            "weekly.2021.30",
            "weekly.2021.29",
            "weekly.2021.28",
            "weekly.2021.27",
            "weekly.2021.26",
            "weekly.2021.25",
            "weekly.2021.24",
            "weekly.2021.23",
            "weekly.2021.22",
            "weekly.2021.21",
            "weekly.2021.20",
            "weekly.2021.19",
            "weekly.2021.18",
            "weekly.2021.17",
            "weekly.2021.16",
            "weekly.2021.15",
            "weekly.2021.14",
            "weekly.2021.13",
            "weekly.2021.12.2",
            "weekly.2021.12.1",
            "weekly.2021.12",
            "weekly.2021.11",
            "weekly.2021.10",
            "weekly.2021.8",
            "weekly.2021.7",
            "weekly.2021.6",
            "weekly.2021.5",
            "0.2.2",
            "0.2",
            "weekly.2020.51.2",
            "weekly.2020.51",
            "weekly.2020.49.5",
            "weekly.2020.49.4",
            "weekly.2020.49.3",
            "weekly.2020.49.2",
            "weekly.2020.49",
            "weekly.2020.48.2",
            "0.1.29",
            "0.1.28.1",
            "0.1.28",
            "0.1.27",
            "0.1.24",
            "0.1.23.1",
            "0.1.23",
            "mytest",
            "0.1.21",
            "0.1.20",
            "0.1.19",
            "0.1.18",
            "0.1.17",
            "0.1.16",
            "0.1.15",
            "v0.1.13",
            "v0.1.12",
            "v0.1.11",
            "v0.1.10",
            "v0.1.9",
            "v0.1.8",
            "v0.1.7",
            "v0.1.6",
            "v0.1.5",
            "v0.1.4",
            "v0.1.3"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-67201.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:51.482141659Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/67xxx/CVE-2026-67201.json",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-67201",
        "https://www.vulncheck.com/advisories/v-ssrf-bypass-via-parser-differential-in-net-urllib-and-net-http",
        "https://github.com/vlang/v/pull/27947",
        "https://github.com/vlang/v/commit/85859f0f3498d4091b38009c45ed390a97eeedc2",
        "https://github.com/vlang/v",
        "https://github.com/vlang/v/issues/27945"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-436"
        ],
        "cna_assigner": "VulnCheck",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/67xxx/CVE-2026-67201.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-67201",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 520366,
  "published_at": "2026-07-29T18:12:34.162+00:00"
}