CVE-2026-49352 9Router: Hardcoded Default fallback JWT Secret Allows Authentication Bypass
Attackers can bypass authentication and take over accounts by forging JWT tokens using a hardcoded default secret when the environment variable is unset.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-49352?
CVE-2026-49352 is a critical vulnerability in decolua 9router, published on 15 Jul 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
9Router is an AI router & token saver. From 0.2.21 until 0.4.44, 9Router used the hardcoded fallback JWT secret 9router-default-secret-change-me in src/app/api/auth/login/route.js, src/middleware.js, and later src/lib/auth/dashboardSession.js, allowing attackers to forge an auth_token cookie when JWT_SECRET was unset. This issue is fixed in version 0.4.44
Weakness: CWE-798
Which versions are affected by CVE-2026-49352?
2 open source packages ship an affected version, including 9router.
| Package | Affected | Fixed in |
|---|---|---|
9router npm | From 0.2.21 | 0.4.45 |
9router npm | From 0.2.21 | 0.4.45 |
How do I fix CVE-2026-49352?
Upgrade 9router to 0.4.45 or later.
Is CVE-2026-49352 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-49352 exists.
Public exploit code: 1 proofs of concept on GitHub.
Sources
Also known as GHSA-jphh-m39h-6gwx.