Mojo::JWT versions before 1.02 for Perl verify HMAC signatures with a non-constant-time…
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Information disclosure
- Confidentiality · integrity · availability
- None · Low · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CISA ADP. Fix status from CNA. Impact type from CWE-208.
Summary
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 and forge a token.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- Yes
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
- Fix · CNA Mojo::JWT (JBERGER) Fixed in 1.02
Vendor assessments
Timeline
- 2026-10-02 Threatist record created from CVE-2026-9537
- 2026-10-03 Alias added: GHSA-3rp9-gq85-w2mf
References
Sources
- CVE-2026-9537 · CVE Program
- CVE-2026-9537 · NVD
- FIRST EPSS
- GHSA-3rp9-gq85-w2mf · GitHub Advisory Database · CC BY 4.0
- CVE-2026-9537 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences