What’s Vulnerable › Vulnerabilities
CVE-2026-14803: Mojo::JSON versions before 9.47 for Perl allow memory exhaustion via unbounded recursion in the pure-Perl decoder
- Severity: medium (CVSS 6.5 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.5% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2026-07-06 · updated 2026-10-25
- Weakness: CWE-674
Description
Mojo::JSON versions before 9.47 for Perl allow memory exhaustion via unbounded recursion in the pure-Perl decoder. The pure-Perl decode path (`_decode_value` dispatching to `_decode_array` and `_decode_object`) recurses with no depth limit, so a small deeply nested JSON document can consume excessive memory. This path is the default when Cpanel::JSON::XS is not installed or `MOJO_NO_JSON_XS=1` is set; the Cpanel::JSON::XS fast path is not affected. Any caller that decodes an untrusted JSON body, for example `Mojo::Message::json` reached through `$c->req->json`, can exhaust process memory and cause denial of service.
Affected products
- SRI Mojo::JSON: before 9.47 — fixed in 9.47
How to fix
Upgrade to a fixed version: SRI Mojo::JSON 9.47. Check the vendor advisory for mitigations.
References
- https://github.com/mojolicious/mojo/commit/cc38b0554275c4d84f6b8b49bcbbc1bec2068fe1.patch
- https://metacpan.org/release/SRI/Mojolicious-9.47/changes
- http://www.openwall.com/lists/oss-security/2026/07/06/2
Get alerted when CVE-2026-14803 or the next vulnerability affects your stack