
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-123125 is an SSRF filter bypass vulnerability in the Symfony Validator component's IpValidator, where incomplete classification of internal IP addresses allows certain non-public addresses to pass as public in filtered validation modes. It affects symfony/symfony and symfony/validator versions prior to 5.4.56, 6.x prior to 6.4.50, 7.x prior to 7.4.23, and 8.x prior to 8.1.11. The vulnerability was published on November 5, 2026, and was reported by researcher zx (Jace) and assigned by Checkmarx. It carries a CVSS v3.1 base score of 6.5 (Medium) and a CVSS v4.0 base score of 6.3 (Medium) (GitHub Advisory, Feedly).
The root cause is classified as CWE-184 (Incomplete List of Disallowed Inputs) and CWE-918 (Server-Side Request Forgery). IpValidator relies exclusively on PHP's FILTER_FLAG_NO_PRIV_RANGE and FILTER_FLAG_NO_RES_RANGE flags to classify IP addresses, but these flags do not cover several non-public ranges: shared address space (100.64.0.0/10, RFC 6598), documentation TEST-NET ranges (192.0.2.0/24, 198.51.100.0/24, 203.0.113.0/24), benchmarking ranges (198.18.0.0/15), and the entire IPv6 special-purpose family including 6to4 (2002::/16), Teredo (2001::/32), NAT64, and IPv4-mapped/IPv4-compatible addresses (e.g., ::ffff:127.0.0.1). Additionally, classification is spelling-dependent for IPv6 — ::7f00:1 and ::127.0.0.1 represent the same 128 bits but may be treated differently depending on PHP version. This only affects applications using the filtered modes (NO_PRIV, NO_RES, ONLY_PUBLIC); the default V4 mode performs no range filtering and is unaffected (GitHub Advisory, Patch Commit).
Applications that use the Symfony Ip constraint with filtered modes (ALL_ONLY_PUBLIC, ALL_NO_PRIV, etc.) as a security guard before making server-side HTTP requests to user-supplied addresses are exposed to SSRF. An attacker can supply an IPv4-mapped address such as ::ffff:10.0.0.1 or a 6to4 address like 2002:7f00:1:: that passes validation but resolves to an internal host, potentially allowing access to internal services, metadata endpoints (e.g., cloud IMDS), or other resources not intended to be reachable from the public internet. The confidentiality and integrity of subsequent (downstream) systems are at low risk, while availability is not directly impacted (GitHub Advisory, Feedly).
No public proof-of-concept exploit code or in-the-wild exploitation has been reported as of the disclosure date. The NVD SSVC assessment indicates exploitation is currently "none" and the EPSS score is 0.0, suggesting low near-term exploitation probability. The vulnerability is automatable (no user interaction required) and requires no authentication, but exploitation depends on the target application specifically using Symfony's Ip constraint in a filtered mode as an SSRF mitigation. The CVE is not listed in the CISA Known Exploited Vulnerabilities catalog (Feedly, GitHub Advisory).
Ip constraint with a filtered mode (ALL_ONLY_PUBLIC, ALL_NO_PRIV, V4_ONLY_PUBLIC, etc.) before making a server-side HTTP request.FILTER_FLAG_NO_PRIV_RANGE/FILTER_FLAG_NO_RES_RANGE flags. Examples include:::ffff:127.0.0.1 (IPv4-mapped loopback, bypasses ALL_NO_PRIV on PHP < 8.3)::ffff:10.0.0.1 (IPv4-mapped private address)2002:7f00:1:: (6to4 encoding of 127.0.0.1)100.64.0.1 (shared address space, bypasses all filtered modes)169.254.169.254, internal APIs, or admin interfaces) via the application's response or an out-of-band channel (GitHub Advisory).::ffff:, 2002:, ::7f) in input fields or API parameters; HTTP responses containing internal service data.::ffff:10.0.0.1, 2002:7f00:1::, or 100.64.x.x without raising a validation violation in filtered modes.Upgrade symfony/symfony or symfony/validator to one of the patched versions: 5.4.56, 6.4.50, 7.4.23, or 8.1.11. The fix adds explicit subnet-based rejection of all non-public IPv4 and IPv6 ranges (mirroring IpUtils::PRIVATE_SUBNETS) on top of the existing filter_var() call, applied only to the filtered modes. As a workaround for applications that cannot immediately upgrade, implement an independent IP allowlist/denylist check using Symfony\Component\HttpFoundation\IpUtils::isPrivateIp() before making any server-side request to a user-supplied address. Note that after patching, some previously accepted addresses (e.g., 100.64.0.1, ::ffff:8.8.8.8) will now be rejected in filtered modes, which may require application-level adjustments (GitHub Advisory, Patch Commit).
The advisory was published by Symfony maintainer fabpot on GitHub and credits researcher zx (Jace) for the discovery and nicolas-grekas for the remediation. The fix was assessed as a "Moderate" severity issue by the Symfony security team. No significant broader media coverage or notable social media discussion has been identified beyond the standard vulnerability tracking aggregators (GitHub Advisory).
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."