{"id":"CVE-2026-55501","summary":"9router: Login brute-force protection bypass via spoofed X-Forwarded-For header","details":"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.","aliases":["GHSA-7cfm-pqrj-xgq7"],"modified":"2026-07-15T01:48:59.339397432Z","published":"2026-07-10T15:23:53.709Z","database_specific":{"cwe_ids":["CWE-307"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/55xxx/CVE-2026-55501.json","cna_assigner":"GitHub_M"},"references":[{"type":"WEB","url":"https://github.com/decolua/9router/releases/tag/v0.4.80"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/55xxx/CVE-2026-55501.json"},{"type":"ADVISORY","url":"https://github.com/decolua/9router/security/advisories/GHSA-7cfm-pqrj-xgq7"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-55501"},{"type":"FIX","url":"https://github.com/decolua/9router/commit/7648c3412b403a29f04967c4b4e9725e228791d4"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/decolua/9router","events":[{"introduced":"0"},{"fixed":"7648c3412b403a29f04967c4b4e9725e228791d4"},{"fixed":"515e2cc4300ace55650ae366414cd51ef3d675df"}],"database_specific":{"extracted_events":[{"introduced":"0"},{"fixed":"0.4.80"}],"source":["AFFECTED_FIELD","REFERENCES"]}}],"versions":["v0.4.71","v0.4.66","v0.4.63","v0.4.62","v0.4.59","v0.4.58","v0.4.55","v0.4.52","v0.4.50","v0.4.49","v0.4.46","v0.4.44","v0.4.41","v0.4.39","v0.4.38","v0.4.37","v0.4.36","v0.4.33","v0.4.31","v0.4.30","v0.4.29","v0.4.28","v0.4.27","v0.4.25","v0.4.20","v0.4.19","v0.4.18","v0.4.16","v0.4.14","v0.4.13","v0.4.12","v0.4.11","v0.4.10","v0.4.8","v0.4.6","v0.4.4","v0.4.3","v0.4.2","v0.4.1","v0.3.98","v0.3.97","v0.3.91","v0.3.90","v0.3.89","v0.3.87","v0.3.86","v0.3.83","v0.3.75","v0.3.47","v0.3.42","v0.3.34","v0.3.17","v0.2.89","v0.2.79","v0.2.71","v0.2.70","v0.2.67","v0.2.56","v0.2.52","v0.2.43","v0.2.36","v0.2.31","v0.2.27","v0.2.21"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-55501.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L"}]}