Read the docs
TI-2026-15190 Aliases CVE-2026-18500

@fastify/jwt vulnerable to authorization bypass via global secret overriding the per-request key

Priority LOW 37CWE-347Published · Updated

Key facts

Attack vector
Network
Privileges required
Low
User interaction
None
Attack complexity
Low
Impact type
Security bypass
Confidentiality · integrity · availability
High · High · None
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-347.

Summary

@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.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00257 17th percentileScored 2026-11-07
Fix Fixed @fastify/jwt (@fastify/jwt): 10.2.2

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Total

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
@fastify/jwt@fastify/jwtbefore 10.2.210.2.2Patch availableCNA
  • @fastify/jwt Vendor@fastify/jwt Affected before 10.2.2 Fixed in 10.2.2 Patch available CNA

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:fastify:fastify\/jwt:*:*:*:*:*:node.js:*:*before 10.2.2Vulnerablefastify
  • cpe:2.3:a:fastify:fastify\/jwt:*:*:*:*:*:node.js:*:* Versions before 10.2.2 Vulnerable ·fastify

Remediation

  • Fix · CNA @fastify/jwt (@fastify/jwt) Fixed in 10.2.2

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-18500

References

  • TI-2026-69550 Missing token expiration in @fastify/jwt when time spans cannot be parsed CVSS 3.1MEDIUM 6.8
  • TI-2026-76030 Missing token expiration in @fastify/jwt per-call options CVSS 3.1MEDIUM 6.8

Sources

This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences