Tóm tắt nhanh
- CVE-2026-48038 là lỗ hổng mức TRUNG BÌNH (CVSS 5.3) ảnh hưởng joi.
- Xác suất bị khai thác trong 30 ngày tới (EPSS): 0.52%, cao hơn 44.4% các lỗ hổng khác.
- Cách xử lý: cập nhật lên 18.2.1, 17.13.4 hoặc mới hơn.
| Gói / sản phẩm | Phiên bản bị ảnh hưởng | Phiên bản đã vá |
|---|
| joi npm | ≥ 18.0.0, < 18.2.1< 17.13.4
| 18.2.117.13.4
|
Mô tả
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
Mô tả của NVD
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.
Bạn đang dùng một trong các sản phẩm này? Quét site để biết có đang lộ phiên bản có lỗ hổng không.
Quét site miễn phí