Skip to content
Fencer Vulns
medium 5.3

CVE-2026-9537 json

Mojo::JWT versions before 1.02 for Perl verify HMAC signatures with a non-constant-time string comparison

published 2026-07-17 3 mo ago modified 2026-10-24 15 d ago also EUVD-2026-45193

cvss
5.3
version 3.1, CNA
cisa kev
Not listed
not in CISA's catalog
epss
0.3%
EPSS 0.3% chance of exploitation in 30 days, percentile 25%
public exploits
0
none known

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.

Patch / fix

  • JBERGER Mojo::JWT 1.02
  • libmojo-jwt-perl Debian 14 1.02-1

debian advisories DEBIAN-CVE-2026-9537

  • perl-Mojo-JWT openSUSE Tumbleweed 1.20.0-2.1

opensuse advisories openSUSE-SU-2026:11450-1

Vendor advisories

What the vendors themselves say about their products: affected, fixed or not affected, and what to do.

red hat product security vex CVE-2026-9537 updated cvss 7.4

perl-Mojo-JWT: verification of HMAC signatures with a non-constant-time string comparison

  • Red Hat All currently supported Red Hat products
    not affected: vulnerable code not present

Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf

CISA SSVC

Exploitation
none
Automatable
yes
Technical impact
partial
Assessed
3 mo ago

Exploit prediction

0.32% chance of exploitation in the next 30 days, higher than 25% of all scored CVEs (FIRST EPSS, 2026-11-08).

CVSS scores

assigned by version score vector
CISA ADP 3.1 5.3 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
CNA 3.1 5.3 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N

Affected products

  • JBERGER Mojo::JWT

Classification

Weakness
  • CWE-208 Observable Timing Discrepancy

References

Sources

Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.