Skip to content
Fencer Intel
medium 5.3

CVE-2026-48038 json

joi: Uncaught RangeError on deeply nested input through recursive `link()` schemas

published 5mo ago modified 18d ago also EUVD-2026-44390 , GHSA-q7cg-457f-vx79

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

Summary

joi is a schema description language and data validator for JavaScript. Prior to 17.13.4 and 18.2.1, denial of service is possible via an untrapped exception in services validating user-supplied JSON or object input with recursive link() schemas. When validate() is called without try/catch in a request handler, deeply nested input can trigger an unhandled RangeError and potentially crash the process; lower-impact paths using validateAsync() or try/catch produce a RangeError instead of a structured ValidationError. This issue is fixed in versions 17.13.4 and 18.2.1.

Patch / fix

Is CVE-2026-48038 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.

Check with Fencer

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-48038 updated cvss 5.3

joi: joi: Denial of Service via uncaught RangeError on deeply nested input through recursive link() schemas

  • Red Hat Gatekeeper 3 joi Red Hat Migration Toolkit for Containers joi Red Hat Build of Podman Desktop joi Red Hat OpenShift AI (RHOAI) joi Red Hat OpenShift Container Platform 4 joi Red Hat OpenShift Dev Spaces joi
    affected: workaround, no fix available “Upgrade to joi 17.13.4 or 18.2.1. As a workaround, wrap validate() calls in try/catch to prevent uncaught exceptions from crashing the process.”
  • Red Hat Cryostat 4 joi Red Hat Data Grid 8 joi
    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
3mo ago

Exploit prediction

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

CVSS scores

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

Affected packages

ecosystem package affected fixed in
npm joi
>=18.0.0, <18.2.1
<17.13.4
18.2.1
17.13.4

Affected products

  • hapijs joi

Classification

Weakness
  • CWE-248 Uncaught Exception
  • CWE-400 Uncontrolled Resource Consumption

References

Sources

Fencer Intel 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.

The maintainers of hapijs/joi published their own advisory on GitHub. Reviewed sources take precedence over it.