CVE-2026-9537: Mojo::JWT versions before 1.02 for Perl verify HMAC signatures with a non-constant-time string comparison
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.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Mojo::JWT (Perl)to a version that resolves this vulnerability.Fixed in 1.02Patch CVE-2026-9537
Event History
Frequently Asked Questions
What is the severity of CVE-2026-9537?
The severity of CVE-2026-9537 is assessed at a risk level of 30.
How do I fix CVE-2026-9537?
To fix CVE-2026-9537, upgrade to Mojo::JWT version 1.02 or later.
What does CVE-2026-9537 affect?
CVE-2026-9537 affects the Mojo::JWT library in Mojolicious versions prior to 1.02.
What is the nature of the vulnerability in CVE-2026-9537?
CVE-2026-9537 involves a non-constant-time string comparison when verifying HMAC signatures.
What are the consequences of exploiting CVE-2026-9537?
Exploiting CVE-2026-9537 could lead to timing attacks that may allow attackers to guess HMAC signatures.