CVE Explorer
CVE-2026-9537
Mojo::JWT versions before 1.02 for Perl verify HMAC signatures with a non-constant-time string comparison.
The decode() method compares the supplied signature to the recomputed HMAC with Perl's eq operator, which stops at the first differing byte, so the comparison time varies with the number of matching leading bytes.
A caller that decodes attacker supplied tokens leaks the expected signature through this timing variation, which can be aggregated over many requests to recover the signature an
Known exploited
Not asserted
Disputed
No
Stale source
No
Conflicts
0
Affected products and versions
1 source assertion{"collectionURL":"https://cpan.org/modules","defaultStatus":"unaffected","packageName":"Mojo-JWT","product":"Mojo::JWT","programFiles":["lib/Mojo/JWT.pm"],"programRoutines":[{"name":"Mojo::JWT::decode"}],"repo":"http://github.com/jberger/Mojo-JWT","vendor":"JBERGER","versions":[{"lessThan":"1.02","status":"affected","version":"0","versionType":"custom"}]}
- cve_program_cvelist_v5affectedurn:baitaphish:normalized-source-record:v2:e2776af3753b190e53fb2b32abfe91f41534d1217fa129bf3c637e2977ec4f2b · sha256:5b07d0d3066d172c… · /containers/cna/affected/0
Provider-owned CVSS observations
1 source assertion{"metric":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":5.3,"baseSeverity":"MEDIUM","confidentialityImpact":"NONE","integrityImpact":"LOW","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N","version":"3.1"},"metric_type":"cvssV3_1"}
- cve_program_cvelist_v5cvssurn:baitaphish:normalized-source-record:v2:e2776af3753b190e53fb2b32abfe91f41534d1217fa129bf3c637e2977ec4f2b · sha256:5b07d0d3066d172c… · /containers/adp/1/metrics/0/cvssV3_1
CWE assertions
1 source assertion{"cweId":"CWE-208","description":"CWE-208 Observable Timing Discrepancy","lang":"en","type":"CWE"}
- cve_program_cvelist_v5cweurn:baitaphish:normalized-source-record:v2:e2776af3753b190e53fb2b32abfe91f41534d1217fa129bf3c637e2977ec4f2b · sha256:5b07d0d3066d172c… · /containers/cna/problemTypes/0/descriptions/0
Source references
2 source assertions{"url":"http://www.openwall.com/lists/oss-security/2026/07/17/11"}
- cve_program_cvelist_v5referenceurn:baitaphish:normalized-source-record:v2:e2776af3753b190e53fb2b32abfe91f41534d1217fa129bf3c637e2977ec4f2b · sha256:5b07d0d3066d172c… · /containers/adp/0/references/0
{"tags":["patch"],"url":"https://github.com/jberger/Mojo-JWT/commit/b8aefb846613e44b5b12bc170898ffd5b05094a2.patch"}
- cve_program_cvelist_v5referenceurn:baitaphish:normalized-source-record:v2:e2776af3753b190e53fb2b32abfe91f41534d1217fa129bf3c637e2977ec4f2b · sha256:5b07d0d3066d172c… · /containers/cna/references/0
Attribution and limitations
- CVE Program CVEList V5: Reproduce the MITRE copyright designation and CVE license in copies. Source →
Provider severity values are preserved separately. Baitaphish does not convert them into a risk rating, infer affected products, or treat EPSS as observed exploitation.