{"id":"EUVD-2026-42926","revision":"9eb656f2874f4a1199b5652b7712b66e","records":[{"revision":"9eb656f2874f4a1199b5652b7712b66e","observedAt":"2026-11-07T12:32:17.416+00:00","statement":{"source":"euvd","id":"EUVD-2026-42926","aliases":["CVE-2026-55501","GHSA-7cfm-pqrj-xgq7"],"title":"9Router is an AI router & token saver. Prior to 0.4.80, the dashboard login rate limiter in src/lib/auth/loginLimiter.js derives the client identity from the attacker-controlled X-Forwarded-For HTTP header, and src/app/api/auth/login/route.…","description":"9Router is an AI router & token saver. Prior to 0.4.80, the dashboard login rate limiter in src/lib/auth/loginLimiter.js derives the client identity from the attacker-controlled X-Forwarded-For HTTP header, and src/app/api/auth/login/route.js uses that spoofable value for checkLock and recordFail. A remote attacker can rotate the X-Forwarded-For value on each login attempt to receive a fresh rate-limit bucket, bypass the 5-attempt threshold and progressive lockout durations, and perform unlimited brute-force attempts against the dashboard password. This issue is fixed in version 0.4.80.","state":0,"publishedAt":null,"modifiedAt":null,"affected":[],"metrics":[{"system":"EUVD CVSS 3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L","score":7.3,"severity":null}],"references":["https://github.com/decolua/9router/security/advisories/GHSA-7cfm-pqrj-xgq7","https://github.com/decolua/9router/commit/7648c3412b403a29f04967c4b4e9725e228791d4","https://github.com/decolua/9router/releases/tag/v0.4.80"],"sourceUrl":"https://euvd.enisa.europa.eu/vulnerability/EUVD-2026-42926","license":"ENISA EUVD · source terms and attribution apply","enrichment":{"sourceStatus":null,"weaknesses":[],"productCriteria":[],"sourceDates":{"datePublished":"Jul 10, 2026, 3:23:53 PM","dateUpdated":"Jul 10, 2026, 4:45:23 PM"},"relatedAdvisories":[],"note":"EUVD source date text has no stated timezone and is retained without inventing a UTC instant. Related bulletin membership is not an alias, common cause or applicability claim. A missing vector with a zero score is treated as unrated. Complete vendor/product and underlying source evidence remains in the original JSON."},"key":"euvd:EUVD-2026-42926","identifiers":["EUVD-2026-42926","CVE-2026-55501","GHSA-7cfm-pqrj-xgq7"]},"retained":false,"historicalAffected":[]}],"coverage":[]}