Medium severity · published Oct 8, 2026
CVE-2026-107275
@fastify/jwt vulnerable to missing token expiration when temporal options cannot be parsed
6.8
CVSS
0.3%
EPSS
No
On KEV
Description
@fastify/jwt is a JSON Web Token plugin for the Fastify web framework. In versions before 10.2.3, a time span passed to expiresIn, notBefore, or maxAge that the plugin's parser cannot read, such as a compound span, a month unit, an ISO 8601 duration, a decimal comma, or a value with surrounding whitespace, is silently dropped instead of refused. On the signing path this produces a token with no expiration claim that never expires, and on the verification path a configured maxAge stops being enforced, so a token that should be rejected for age is accepted. The issue is fixed in @fastify/jwt 10.2.3, and users should upgrade to 10.2.3 or later. As a workaround, pass these options as a number of seconds, or verify that any time-span string parses to a finite value before relying on it.
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.3% · higher than 24% 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.3 · 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-110024
@fastify/jwt vulnerable to missing token expiration when per-call options drop global defaults