joi: Uncaught RangeError on deeply nested input through recursive `link()` schemas
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| hapijs | joi | affected |
|
No data.
No data.
| Vendor | Product | Versions | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Hapijs | Joi |
|
| Source | ID | Title |
|---|---|---|
Github GHSA |
GHSA-q7cg-457f-vx79 | joi has an uncaught RangeError on deeply nested input through recursive `link()` schemas |
No CVSS v4.0
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.524% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Hapijs
Hapijs joi |
|
| Vendors & Products |
Hapijs
Hapijs joi |
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| Description | 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. | |
| Title | joi: Uncaught RangeError on deeply nested input through recursive `link()` schemas | |
| Weaknesses | CWE-248 | |
| References |
| |
| Metrics |
cvssV3_1
|