Skip to main content

V (vlang) EUVDEUVD-2026-50446

| CVE-2026-67201 HIGH
Interpretation Conflict (CWE-436)
2026-07-29 VulnCheck GHSA-mvrj-5wv7-cfg9
7.7
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Identify V app with URL allowlist fetch
  2. Delivery
    Craft URL with backslash in authority
  3. Exploit
    urllib.parse validates trusted host
  4. Execution
    net.http normalizes backslash, connects internal
  5. Persist
    Reach blocked internal service
  6. Impact
    Exfiltrate internal/cloud data

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V4 - API and Web Service Interpretation consistency
Exploitation Conditions

Exploitation requires that a V application (≤ 0.5.2) use net.urllib.parse() to extract and allowlist the host of an attacker-controllable URL and then fetch that same URL string with net.http (get/request) - the SSRF-allowlist pattern is the concrete prerequisite. The attacker crafts a URL with a backslash in the authority section (e.g. http://allowed-host\@internal-target/) so parsing sees the trusted host but the HTTP client normalizes the backslash and connects to the internal host. No authentication, no user interaction, and no non-default library configuration is needed (PR:N/UI:N). Limiting factors: the vulnerability is inert unless the downstream app actually performs urllib-based allowlist validation in front of net.http, and reachable internal targets must exist on the network the V service can route to; the raw library bug alone does not compromise the host running it.

Impact

Signals are broadly consistent for a real, exploitable SSRF-class issue rather than a paper-high score. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N) indicates a network-reachable, low-complexity, unauthenticated attack with no user interaction, and the impact profile (VC:N/VI:N/VA:N but SC:H) correctly models SSRF: the vulnerable app itself suffers no direct CIA loss, but a subsequent system's confidentiality is highly impacted (access to internal services). A public POC exists and a working exploit URL is documented, which raises practical risk. Counterweights: exploitability depends entirely on a downstream V application actually using urllib-based allowlist validation in front of net.http - the library flaw is not self-exploiting, so real-world exposure is bounded by that coding pattern and by V's modest deployment footprint. No EPSS score was provided and the CVE is not in CISA KEV, so widespread or automated exploitation is not evidenced; treat this as a targeted, developer-dependent risk. One caveat to verify: CVSS lists VC:N while the real-world consequence is data exfiltration from internal services (captured under SC:H) - defenders should read the subsequent-system metric, not the vulnerable-system one, when judging impact.

Exploit ScenarioDerived

A V-based web service accepts a user-supplied URL (e.g. a webhook, link preview, or image-fetch feature) and allowlists it against trusted external hosts before fetching. An attacker submits http://trusted.example.com\@169.254.169.254/latest/meta-data/, which urllib.parse() validates as the trusted host while net.http.get() actually connects to the internal metadata endpoint, exfiltrating cloud credentials. A public POC demonstrating the backslash bypass is available, and the low attack complexity (AC:L, no auth, no user interaction) makes this trivially repeatable once the vulnerable pattern is present.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
1 PoC candidate (unverified) Patch available 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jul 29, 2026

Server-side request forgery allowlist bypass in the V programming language standard library (net.urllib / net.http) through version 0.5.2 lets remote unauthenticated attackers reach internal network services that a host-based allowlist was meant to block. The flaw stems from a parser differential: net.urllib.parse() and net.http.get() disagree on how a backslash in a URL's authority is handled, so validation and connection resolve to different hosts. Publicly available exploit code exists and the issue was reported by VulnCheck, though it is not listed in CISA KEV (no public evidence of active exploitation at time of analysis).

RemediationAI

Upstream fix available (commit 85859f0 / PR #27947); a released, tagged patched version is not independently confirmed from the provided data, so update V to a build that includes commit 85859f0f3498d4091b38009c45ed390a97eeedc2 (verify against the vlang release notes) - see https://github.com/vlang/v/commit/85859f0f3498d4091b38009c45ed390a97eeedc2. Until you can rebuild against a patched compiler/stdlib, defend at the application layer: reject any URL whose authority contains a backslash before validation, and - more robustly - resolve the destination host once and pass that exact resolved value to net.http rather than re-deriving it, so the same host is used for both allowlist checks and the connection (eliminating the parser differential). As network-side compensating controls, enforce egress filtering from the V service so it cannot reach internal/link-local ranges (e.g. block 169.254.0.0/16, 127.0.0.0/8, RFC1918) at the firewall, and route outbound fetches through a forward proxy that independently enforces the allowlist; note these controls add latency and operational overhead and do not fix the underlying library disagreement.

Affected VersionsENISA

v 0 ≤0.5.2
v patch: 85859f0f3498d4091b38009c45ed390a97eeedc2

Affected Packages

euvd v no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The vulnerability lives in V's built-in networking modules - net.urllib (URL parsing/validation) and net.http (HTTP client). Applications commonly parse an attacker-supplied URL, extract the host with urllib.parse(), check it against an allowlist, then fetch it with http.get(). The root cause is CWE-436 (Interpretation Conflict / parser differential): a URL such as http://trusted.host\@internal.target/ is interpreted by urllib.parse() as having authority 'trusted.host' (treating the backslash as part of/terminating the host so the allowlist sees the trusted value), while net.http normalizes the backslash to a forward slash per browser-style WHATWG behavior and instead connects to 'internal.target'. The two components thus resolve different destinations from the same input string. The upstream fix (commit 85859f0, PR #27947) makes urllib treat backslash as an invalid character in the authority - should_escape and valid_userinfo no longer whitelist '\\', and the parser now rejects backslashes in the host (regression tests test_parse_rejects_backslash_in_authority) - so parsing fails rather than silently disagreeing with net.http.

Know when the next one hits your stack

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 7.7 HIGH
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
vuln.today AI 8.6 HIGH

Remote, unauthenticated, low-complexity SSRF bypass with no direct impact on the app but scope change (S:C) granting high confidentiality access to internal systems; no integrity/availability impact.

3.1 AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:N/SC:H/SI:N/SA:N
SUSE HIGH
Red Hat 8.6 HIGH

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
High
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

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.

Latest POC

1 PoC candidate from github (unverified)

Sign in to open the public PoC links collected for this CVE.

Executive ViewAI

Why It Matters

The V programming language standard library (versions through 0.5.2) contains an allowlist bypass vulnerability enabling unauthenticated remote attackers to access internal network services that security controls were designed to block. Organizations running V-based applications face direct risk of internal infrastructure exposure and potential lateral movement across their networks.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.4%
Top 68% exploitable
Prevalence
Low
V is an emerging niche language with limited production deployment
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment Vendor CIRCL GitHub

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC Yes
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Out-of-Cycle
Exploitation
Poc
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

58
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.

Vendor StatusVendor

SUSE

Severity: Important

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy