Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach exposed Speedtest Tracker endpoint
-
ExploitForge X-Forwarded-For with allowlisted IP
-
ExecutionBypass ALLOWED_IPS/Prometheus allowlist
-
ImpactRead /prometheus metrics and protected endpoints
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V6 - Authentication IP-independent access control
|
| Exploitation Conditions | Exploitation requires that the instance actually uses IP-based access control - i.e., ALLOWED_IPS is set and/or the Prometheus endpoint allowlist is enabled - because the attack bypasses those allowlists; an instance with no allowlist configured has nothing to bypass. The enabling defect is that bootstrap/app.php trusts all peers as proxies, so any user-supplied X-Forwarded-For value is accepted as the client IP. Limiting factors: the target must be network-reachable by the attacker; the confirmed impact is limited to information disclosure of /prometheus metrics and reaching allowlist-gated endpoints (endpoints that additionally enforce application login are not necessarily compromised); affected versions are 1.15.0 and earlier. |
| Impact | This is a genuine but moderate-priority issue, not a critical emergency. The CVSS 4.0 vector (AV:N/AC:L/AT:P/PR:N/UI:N) confirms unauthenticated, low-complexity remote exploitation, but the impact is narrow: only confidentiality is affected and only at Low (VC:L, with VI:N/VA:N), consistent with the described capability of reading /prometheus metrics and reaching allowlist-protected endpoints rather than achieving code execution or data modification. The AT:P (attack requirements present) metric is the key limiter - exploitation only matters where an IP allowlist (ALLOWED_IPS or the Prometheus allowlist) is actually configured and the instance is reachable, since there is nothing to bypass otherwise. No EPSS score was provided, so exploitation probability cannot be quantified. The vulnerability is NOT in CISA KEV and no exploit code is confirmed published (the referenced HackMD page is a technical write-up, not a verified weaponized POC), so there is no evidence of active exploitation. The signals are internally consistent: a low-complexity unauthenticated flaw with limited (information-disclosure) impact against a niche self-hosted product - real and worth patching, but not a widespread-exploitation threat. |
| Exploit ScenarioDerived | An attacker who can reach an internet-exposed Speedtest Tracker instance that relies on ALLOWED_IPS or Prometheus IP allowlisting sends an HTTP request containing a forged X-Forwarded-For header set to an allowlisted address. Because bootstrap/app.php trusts every peer as a proxy, the application honors the spoofed client IP and grants access, letting the unauthenticated attacker read /prometheus metrics and reach otherwise allowlist-protected web and API endpoints. A detailed technical write-up exists but no confirmed exploit tool was identified. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 11, 2026
IP allowlist bypass in Speedtest Tracker through 1.15.0 lets unauthenticated remote attackers defeat both the ALLOWED_IPS restriction and the Prometheus endpoint allowlist by spoofing the X-Forwarded-For header, giving them read access to /prometheus metrics and other allowlist-gated web and API endpoints. The root cause is that bootstrap/app.php trusts every peer as a reverse proxy, so any client-supplied forwarding header is accepted as the real client IP. Impact is limited to information disclosure and reaching allowlist-protected routes; endpoints that separately require an application login are not necessarily compromised. No confirmed active exploitation (CISA KEV) is reported, though a public technical writeup of the bypass technique is referenced and no fixed version is identified in the available data.
RemediationAI
No vendor-released patched version is identified in the available data; the advisory scope is 'through 1.15.0', so operators should track the upstream repository at https://github.com/alexjustesen/speedtest-tracker for a fix release and upgrade as soon as one is published, then verify that bootstrap/app.php no longer trusts arbitrary proxies. Until then, the highest-value compensating control is to change the Laravel trusted-proxy configuration so that only the actual fronting reverse proxy or load-balancer address is trusted instead of all peers; this directly removes the primitive the attack depends on, at the cost of losing client-IP accuracy if your proxy topology is not enumerated correctly. Equally effective and simpler is to terminate the application behind a reverse proxy or WAF that strips or overwrites inbound X-Forwarded-For headers before forwarding, which neutralises spoofed values - the trade-off is that legitimate client IPs must be re-added by the trusted proxy to keep allowlists and logs meaningful. If ALLOWED_IPS and the Prometheus allowlist cannot be made reliable, disable or network-isolate the allowlist-gated surfaces: block /prometheus at the edge or bind the metrics path to an internal-only interface, and restrict the service to a management network or VPN so it is not reachable by untrusted clients. Note that these mitigations reduce exposure but do not fix the underlying trust-all-proxies defect, and per the assessment the practical impact is limited to information disclosure and reaching allowlist-gated endpoints rather than full compromise of login-protected functionality.
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
Speedtest Tracker is a PHP/Laravel application, and this defect sits in Laravel's trusted-proxy handling. CWE-348 (Use of Less Trusted Source) describes the class precisely: the application resolves the requesting client's IP address from a value controlled by the attacker rather than from the actual network peer. References to bootstrap/app.php lines 23-41 and the middleware files AllowedIpAddressesMiddleware.php (lines 16-27) and PrometheusAllowedIpMiddleware.php (lines 22-42) show the two enforcement points that consume that resolved IP. Because the proxy configuration trusts all peers (effectively a wildcard trusted-proxy list), Laravel honours whatever X-Forwarded-For value the request carries, and both middlewares then compare that spoofed address against their allowlists - trivially satisfied by naming any allowlisted address. The CPE cpe:2.3:a:alexjustesen:speedtest-tracker:*:*:*:*:*:*:*:* confirms the upstream project alexjustesen/speedtest-tracker is the affected component, with the flaw present through version 1.15.0. The reported CVSS 4.0 vector (AV:N/AC:L/AT:P/PR:N/UI:N with low confidentiality impact only) and the independent CVSS 3.1 assessment (AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N) agree that this is an unauthenticated network-reachable confidentiality issue with no confirmed integrity or availability impact.
Know when Speedtest Tracker 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:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
Unauthenticated remote header spoofing is trivial (AV:N/AC:L/PR:N/UI:N); confirmed impact is limited to disclosure of metrics/allowlisted content, so C:L with I:N/A:N.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Speedtest Tracker through 1.15.0 contains an IP allowlist bypass vulnerability that allows unauthenticated remote attackers to evade ALLOWED_IPS and Prometheus allowlists by spoofing X-Forwarded-For headers. Because bootstrap/app.php trusts every peer as a proxy, attackers can supply an allowlisted address to read /prometheus metrics and reach protected web and API endpoints.
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.
EUVD-2026-96902
GHSA-5mh8-m8gg-2f9w
NVD
CVE.org
EPSS
Exploit-DB