CVE-2026-18500 @fastify/jwt vulnerable to authorization bypass via global secret overriding the per-request key
An authenticated user can bypass key-based authorization boundaries by exploiting a secret override flaw in the Fastify JWT plugin.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- None listed
What is CVE-2026-18500?
CVE-2026-18500 is a high-severity authentication bypass vulnerability in @fastify/jwt, published on 15 Aug 2026. Any signed-in user can exploit it over the network, with no action from the victim.
Official description
@fastify/jwt is a JSON Web Token plugin for Fastify. In versions before 10.2.2, a per-request verification key passed to request.jwtVerify({ key }) is silently overridden by the plugin's globally configured secret, because the option merge applies the global key last. Applications that use different keys for different authorization domains, for example separate user and admin keys, therefore accept a token signed with the global key on a route that explicitly requires another key. This lets an ordinary authenticated user cross a key-based trust boundary without knowing either secret. The issue is fixed in @fastify/jwt 10.2.2, where an explicit per-call key takes precedence over the global secret. Users should upgrade to 10.2.2.
Weakness: CWE-347
Which versions are affected by CVE-2026-18500?
It affects 1 product.
Products include Fastify Fastify\/Jwt.
How do I fix CVE-2026-18500?
No fix has been published for CVE-2026-18500 yet. Limit exposure of the affected software until one is available.
Upgrade, and rotate credentials and sessions that may have been exposed. More about Authentication bypass.
Is CVE-2026-18500 being exploited?
There is no known exploitation of CVE-2026-18500 in the wild and no public exploit code.
Sources
Also known as GHSA-j4cx-787j-xjqg.