{"id":"CVE-2026-48038","revision":"47f94b0ccb9d428bb3ee9c66ddc73d2e","records":[{"revision":"47f94b0ccb9d428bb3ee9c66ddc73d2e","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2026-48038","aliases":[],"title":"joi: Uncaught RangeError on deeply nested input through recursive `link()` schemas","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.","state":0,"publishedAt":"2026-07-14T19:24:32.644+00:00","modifiedAt":"2026-07-15T13:27:13.334+00:00","affected":[{"ecosystem":"Vendor product","name":"joi","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"vendor\": \"hapijs\",\n                    \"product\": \"joi\",\n                    \"versions\": [\n                        {\n                            \"version\": \"< 17.13.4\",\n                            \"status\": \"affected\"\n                        },\n                        {\n                            \"version\": \">= 18.0.0, < 18.2.1\",\n                            \"status\": \"affected\"\n                        }\n                    ]\n                }"}],"metrics":[{"system":"CVSS 3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L","score":5.3,"severity":"MEDIUM"}],"references":["https://github.com/hapijs/joi/security/advisories/GHSA-q7cg-457f-vx79","https://github.com/hapijs/joi/pull/3113","https://github.com/hapijs/joi/commit/97bd51de94d595a2d8949eb3bec0dbdd2f8a7a74","https://github.com/hapijs/joi/commit/fc146a628ab9cc250854407722d9f8738c9548e7"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-48038","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-48038","identifiers":["CVE-2026-48038"]},"retained":false,"historicalAffected":[]}],"coverage":[]}