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
- npm joi 17.13.4, 18.2.1
- github.com/hapijs/joi@97bd51d commit
- github.com/hapijs/joi@fc146a6 commit
- github.com/hapijs/joi@2392713 commit
- github.com/hapijs/joi#3113 pull request
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 FencerVendor 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 joiaffected: 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 joinot 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
References
-
github.com
/hapijs/joi/pull/3113
web
- github.com /hapijs/joi/commit/97bd51de94d595a2d8949eb3bec0dbdd2f8a7a74
- github.com /hapijs/joi/commit/fc146a628ab9cc250854407722d9f8738c9548e7
-
github.com
/hapijs/joi/commit/2392713d3e9dd91ba752ac0c96e0eaf3d24b9a11
web
-
github.com
/hapijs/joi/security/advisories/GHSA-q7cg-457f-vx79
web, advisory
-
github.com
/hapijs/joi
package
Sources
- CVE List CVE-2026-48038
- GitHub Advisory GHSA-q7cg-457f-vx79
- NVD CVE-2026-48038
- Maintainer advisory GHSA-q7cg-457f-vx79
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.