Medium severity · published Oct 18, 2026
CVE-2026-110024
@fastify/jwt vulnerable to missing token expiration when per-call options drop global defaults
6.8
CVSS
0.2%
EPSS
No
On KEV
Description
@fastify/jwt is a JWT utility plugin for Fastify. In versions prior to 10.2.5, the top-level sign and verify methods replace the globally configured defaults with the per-call options instead of merging them, so passing any per-call option silently drops every global default that the call does not restate, including temporal protections such as token expiration and maximum accepted token age. A token signed this way carries no expiration claim and never expires, and verification stops enforcing a configured maximum age, so stale or never-expiring tokens are accepted. The route-level decorators for signing and verifying already merge options and are not affected. The issue is fixed in @fastify/jwt 10.2.5, and users should upgrade to 10.2.5 or later.
CVSS vector
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N
Attack vector
Network
Complexity
High
Privileges
Low
User interaction
None
Confidentiality
High
Integrity
High
Availability
None
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)0.2% · higher than 8% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
FA
@fastify/jwt · @fastify/jwt
before 10.2.5 · source: vendor
Affected product
FA
@fastify/jwt
@fastify/jwt
More from @fastify/jwt
8.1
CVE-2026-18500
@fastify/jwt vulnerable to authorization bypass via global secret overriding the per-request key
6.8
CVE-2026-107275
@fastify/jwt vulnerable to missing token expiration when temporal options cannot be parsed