fast-jwt clockTolerance: Infinity silently bypasses both exp and nbf validation (and persists in the verifier cache)
fast-jwt provides fast JSON Web Token (JWT) implementation. Prior to 6.3.0, fast-jwt createVerifier accepts Infinity for clockTolerance because its option validation checks type and negativity but not finiteness. In validateClaimDateValue, infinite positive and negative modifiers make exp and nbf comparisons always pass, allowing expired or not-yet-active tokens to be accepted. The verifier cache also derives infinite bounds, so entries created under this configuration can remain valid until eviction. Exploitation requires an application administrator or equivalent configuration path to set clockTolerance to Infinity. This issue is fixed in version 6.3.0.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-107721
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 3 Nov 2026, 18:49 UTC · Revision 1
Source evidence
fast-jwt clockTolerance: Infinity silently bypasses both exp and nbf validation (and persists in the verifier cache)
core-osv · Original sourcePublished 8 Oct 2026, 21:45 UTC
fast-jwt provides fast JSON Web Token (JWT) implementation. Prior to 6.3.0, fast-jwt createVerifier accepts Infinity for clockTolerance because its option validation checks type and negativity but not finiteness. In validateClaimDateValue, infinite positive and negative modifiers make exp and nbf comparisons always pass, allowing expired or not-yet-active tokens to be accepted. The verifier cache also derives infinite bounds, so entries created under this configuration can remain valid until eviction. Exploitation requires an application administrator or equivalent configuration path to set clockTolerance to Infinity. This issue is fixed in version 6.3.0.
osv:CVE-2026-107721
Complete source record
{
"id": "9da6f6a2f0e85218b7b112350ccf803676eb4b7a083b0971730aba5919d1e80e",
"url": "https://osv.dev/vulnerability/CVE-2026-107721",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "fast-jwt clockTolerance: Infinity silently bypasses both exp and nbf validation (and persists in the verifier cache)",
"summary": "fast-jwt provides fast JSON Web Token (JWT) implementation. Prior to 6.3.0, fast-jwt createVerifier accepts Infinity for clockTolerance because its option validation checks type and negativity but not finiteness. In validateClaimDateValue, infinite positive and negative modifiers make exp and nbf comparisons always pass, allowing expired or not-yet-active tokens to be accepted. The verifier cache also derives infinite bounds, so entries created under this configuration can remain valid until eviction. Exploitation requires an application administrator or equivalent configuration path to set clockTolerance to Infinity. This issue is fixed in version 6.3.0.",
"evidence": "osv:CVE-2026-107721",
"products": [],
"severity": "medium",
"structured": {
"id": "CVE-2026-107721",
"aliases": [
"CVE-2026-107721",
"GHSA-687g-22h4-j4w4"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:N"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/nearform/fast-jwt",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "b351e31a755cdce457e0d25ce22b139bbcf469da"
},
{
"fixed": "c0fb5b88b4c88ff2bdd194ca2c713599ad9e38b6"
}
],
"database_specific": {
"extracted_events": [
{
"range": [
{
"introduced": "0"
},
{
"fixed": "6.3.0"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"fixed": "c0fb5b88b4c88ff2bdd194ca2c713599ad9e38b6"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "b351e31a755cdce457e0d25ce22b139bbcf469da"
}
],
"source": "REFERENCES_TAG",
"original_tag": "v6.3.0"
}
]
}
}
],
"versions": [
"v6.2.4",
"v6.2.3",
"v6.2.2",
"v6.2.1",
"v6.2.0",
"v6.1.0",
"v2.0.0",
"v1.7.2",
"v1.7.1",
"v1.7.0",
"v1.6.1",
"v1.6.0",
"v1.5.4",
"v1.5.3",
"v1.5.2",
"v1.5.1",
"v1.5.0",
"v1.4.1",
"v1.4.0",
"v1.3.2",
"v1.3.0",
"v1.2.0",
"v1.1.3",
"v1.1.2",
"v1.1.1",
"v1.1.0",
"v1.0.0",
"v0.5.1",
"v0.5.0",
"v0.4.2",
"v0.4.1",
"v0.4.0",
"v0.3.1",
"v0.3.0",
"v0.2.0",
"v0.1.1",
"v0.1.0"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-107721.json"
}
}
],
"modified": "2026-10-28T02:30:31.489285936Z",
"provider": "osv",
"references": [
"https://github.com/nearform/fast-jwt/releases/tag/v6.3.0",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/107xxx/CVE-2026-107721.json",
"https://github.com/nearform/fast-jwt/security/advisories/GHSA-687g-22h4-j4w4",
"https://nvd.nist.gov/vuln/detail/CVE-2026-107721",
"https://github.com/nearform/fast-jwt/commit/c0fb5b88b4c88ff2bdd194ca2c713599ad9e38b6"
],
"provider_metadata": {
"cwe_ids": [
"CWE-613",
"CWE-682"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/107xxx/CVE-2026-107721.json"
}
},
"related_cves": [
{
"value": "CVE-2026-107721",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 498544,
"published_at": "2026-10-08T21:45:57.545+00:00"
}