Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify IP-restricted route
-
DeliveryCraft request with forged X-Forwarded-For header
-
ExploitMiddleware trusts spoofed client IP
-
ExecutionPass whitelist/blacklist check
-
ImpactAccess restricted route content or functions
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V6 - Authentication IP-independent access control
|
| Exploitation Conditions | Exploitation requires that the target application actively uses simple-php-router's IpRestrictAccess middleware to whitelist or blacklist clients by IP on one or more routes - this feature IS the attack surface. The bypass succeeds because the middleware derives the client IP from attacker-controllable HTTP headers (X-Forwarded-For, CF-Connecting-IP, Client-IP) rather than the trusted socket/remote address. The primary limiting factor is deployment: applications that do not employ IP-based route restriction are unaffected, and deployments fronted by a correctly configured reverse proxy or CDN that strips or overwrites these inbound headers before they reach the app materially reduce exploitability. No authentication, special privileges, or user interaction is needed when the vulnerable middleware is in use. |
| Impact | This is a moderate-risk access-control flaw whose real-world severity depends entirely on deployment. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N) correctly describes a remote, unauthenticated, low-complexity attack with no user interaction, but caps impact at VC:L/VI:L/VA:N - a partial loss, reflecting that the bug only defeats an IP allow/deny gate rather than directly exposing data or executing code. The assigned 6.9 (MEDIUM) is reasonable; my independent CVSS 3.1 assessment lands at ~6.4, consistent with the vendor. No EPSS score was provided, there is no CISA KEV listing, and no proof-of-concept is explicitly confirmed in the input (though the referenced GitHub issue #727 and VulnCheck advisory may contain exploitation detail). This is a genuine, easily triggered bug - spoofing a forwarding header is trivial - but it is only a priority for applications that actually rely on IpRestrictAccess as a security boundary. For deployments that do not use IP-based route restriction, the practical risk is near zero. No conflicting signals in the CVSS vector itself; the network vector matches the HTTP-header-spoofing description. |
| Exploit ScenarioDerived | An application uses simple-php-router's IpRestrictAccess middleware to limit an admin or internal route to a whitelisted office IP. A remote attacker sends an HTTP request to that route with a forged X-Forwarded-For (or CF-Connecting-IP / Client-IP) header set to the whitelisted address, and the middleware trusts the attacker-controlled header instead of the real socket IP, granting access. No authentication or user interaction is required; no public exploit is confirmed in the provided data, though the technique is trivial to reproduce. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 01, 2026
IP whitelist and blacklist enforcement in the Pecee simple-php-router library through version 5.4.1.7 can be bypassed by remote unauthenticated attackers, allowing access to routes that are supposed to be restricted by client IP. The IpRestrictAccess middleware derives the caller's address from spoofable HTTP headers - X-Forwarded-For, CF-Connecting-IP, and Client-IP - instead of the trusted socket address, so a crafted request can impersonate a whitelisted host or slip past a blacklist. Impact is limited to confidentiality and integrity of the protected routes (moderate severity); no public exploit code has been identified at time of analysis and there is no CISA KEV listing, but exploitation requires only that the target application actually uses this middleware, and no credentials or user interaction are needed.
RemediationAI
No vendor-released patch or fixed version is confirmed in the available data; the reference set points only to the upstream issue tracker (issue 727) and to the vulnerable 5.4.1.7 source files, so treat any remediation as compensating rather than as an upgrade to a known-good release. The primary action is to upgrade simple-php-router to the first release the maintainers publish beyond 5.4.1.7 once that version is confirmed to address the header-trust issue, and to track issue 727 and the VulnCheck advisory for the fix version. Until then, the most effective control is to ensure every request reaching the application has attacker-supplied X-Forwarded-For, CF-Connecting-IP, and Client-IP headers stripped or overwritten by a correctly configured reverse proxy, CDN, or load balancer before the application sees them - the trade-off is that this must be paired with an explicit trusted-proxy configuration, because unconditional stripping breaks legitimate deployments that rely on those headers for logging, geo-routing, or downstream rate limiting. Where that is not possible, replace or subclass the IpRestrictAccess middleware so the decision uses the connection-level remote address (PHP REMOTE_ADDR / socket peer) rather than the library's header-derived value, accepting that this override may need to be re-applied after library updates. Finally, do not rely on IP restriction as the sole gate for sensitive routes: layer authentication or network-level allowlisting (VPN, mTLS, firewall rules at the edge) in front of IP-restricted endpoints, since header spoofing defeats application-layer IP checks by design.
Affected VersionsENISA
Affected Packages
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 flaw is an instance of CWE-348 (Use of Less Trusted Source): the IpRestrictAccess middleware in src/Pecee/Http/Middleware/IpRestrictAccess.php obtains the client address through the library's Request abstraction (src/Pecee/Http/Request.php), which trusts proxy-style forwarding headers supplied by the requester. Because X-Forwarded-For, CF-Connecting-IP, and Client-IP are ordinary client-controlled request headers unless a trusted intermediary rewrites them, an attacker can set them to any value and have the middleware evaluate a fabricated address against its whitelist/blacklist. The correct pattern is to read the connection-level remote address (for example the PHP REMOTE_ADDR / socket peer) or to consult forwarding headers only from an explicitly trusted proxy chain. The associated CPE cpe:2.3:a:pecee:simple-router:*:*:*:*:*:*:*:* covers all published releases of the package up to and including 5.4.1.7. The independent assessment scores this CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N, i.e. network-reachable, unauthenticated, no user interaction, with low confidentiality and integrity impact and no availability impact - consistent with an access-control bypass that exposes moderate-sensitive routes rather than enabling code execution or data destruction.
Know when PHP gets its next vulnerability
- 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
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N
Remote header spoofing needs no auth or interaction (PR:N/UI:N/AC:L); impact is partial access to restricted routes, so C:L/I:L and A:N, scope unchanged.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
simple-php-router through 5.4.1.7 contains an IP restriction bypass vulnerability in the IpRestrictAccess middleware that allows remote unauthenticated attackers to bypass IP whitelist and blacklist protections. Attackers can spoof X-Forwarded-For, CF-Connecting-IP, or Client-IP headers to impersonate whitelisted addresses or evade blacklists, gaining access to IP-restricted routes.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it
sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not
(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear
The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by
ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C
Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au
Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c
Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows
The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
EUVD-2026-90440
GHSA-73j7-rxg8-5ccm
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB