CVE-2026-48038
joi has an uncaught RangeError on deeply nested input through recursive `link()` schemas
Description
### Impact Denial of service via untrapped exception in services validating user-supplied JSON / object input with recursive link schemas. The blast radius depends on how the application invokes joi: - Highest impact: `validate()` called without `try/catch` in a request handler would cause an unhandled exception, potentially crashing the process. - Lower impact: `validateAsync()` or `validate()` inside a `try/catch`, the validation fails, but the error type is `RangeError` rather than a structured `ValidationError`, complicating error handling. ### Patches Upgrade to version >= 18.2.1. ### Workarounds Try/catch the validation to avoid uncaught exceptions. ### References - Pull request: hapijs/joi#3113
How to fix CVE-2026-48038
To remediate CVE-2026-48038, upgrade the affected package to a fixed version below.
- —upgrade to 18.2.1 or later
Is CVE-2026-48038 being exploited?
No exploitation signal available. Neither CISA KEV nor a current EPSS score has been published for CVE-2026-48038.
Affected packages (1)
- from 0, < 18.2.1
CVSS scores
| Source | Version | Severity | Vector |
|---|---|---|---|
| osv | CVSS 3.1 | MEDIUM5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L |