Description
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.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| alexjustesen | speedtest-tracker | ≤ 1.15.0 | — |
References
- https://hackmd.io/@haind03/speedtest-tracker-trust-proxies-allowlist-bypass third-party-advisory
- https://github.com/alexjustesen/speedtest-tracker/blob/fce6eb36181ed70b5b0763c391a50b806d7e3da7/bootstrap/app.php#L23-L41 technical-description
- https://github.com/alexjustesen/speedtest-tracker/blob/fce6eb36181ed70b5b0763c391a50b806d7e3da7/app/Http/Middleware/AllowedIpAddressesMiddleware.php#L16-L27 technical-description
- https://github.com/alexjustesen/speedtest-tracker/blob/fce6eb36181ed70b5b0763c391a50b806d7e3da7/app/Http/Middleware/PrometheusAllowedIpMiddleware.php#L22-L42 technical-description
- https://github.com/alexjustesen/speedtest-tracker product
- VulnCheck Advisory: Speedtest Tracker through 1.15.0 IP Allowlist Bypass via X-Forwarded-For Spoofing third-party-advisory