Approved changes feed: RSS · Atom
cpe:2.3:a:hapijs:joi:*:*:*:*:*:*:*:*part: a version: * update: *
| Vendor | Hapijs (cde07e56-6e3e-5211-9d96-925613bfc13f) |
|---|---|
| Product | Joi (6792fcdb-6b3a-5f16-adae-96b4e7a99bc8) |
| Edition | * |
| Language | * |
| Software edition | * |
| Target software | * |
| Target hardware | * |
| Other | * |
Notes
Imported from purl2cpe mapping
PURL mappings
| PURL | Source | Last updated |
|---|---|---|
pkg:github/hapijs/joi |
purl2cpe | 2026-09-09 08:34:17.339668 |
Vulnerability references
| Identifier | cpeApplicability | Submitted | db.gcve.eu details | Rationale |
|---|---|---|---|---|
CVE:CVE-2026-118772 |
vulnerable | 2026-11-03 10:17:04.428926 |
joi: quadratic-time split in `string().email({ multiple: true })` allows denial of service
HIGH (7.5)
joi is a schema description language and data validator for JavaScript. From 17.1.1 until 17.13.9 and 18.3.1, the Joi.string().email({ multiple: true }) rule uses a separator regular expression whose leading whitespace quantifier is retried at every position in a long whitespace run that contains no separator, causing quadratic work during String.prototype.split. The behavior applies to the default separator and every custom separator. Applications that validate attacker-controlled values with the multiple option and no effective prior length limit can have the Node.js event loop blocked for seconds by one request, preventing other work. A .max() rule is not sufficient when abortEarly: false allows the email rule to run after the maximum-length check fails. This vulnerability is fixed in versions 17.13.9 and 18.3.1.
Published: 2026-10-29T18:13:33.771Z
Updated: 2026-11-04T01:33:51.841Z Reference links
|
Imported from gcve-enriched-dumps CVE data |
CVE:CVE-2026-92599 |
vulnerable | 2026-10-13 12:28:53.602683 |
Joi before 17.13.7 and 18.2.6 ReDoS via isoDate
HIGH (7.5)
joi (npm package `joi`, hapi.js) versions >=17.2.0 <17.13.7 and >=18.0.0 <18.2.6 are vulnerable to regular expression denial of service in the `Joi.string().isoDate()` validation rule. One of the regular expressions the rule applies to the input is unanchored, so a valid ISO date followed by a long run of fractional-second digits causes the regex engine to restart its search from every position in the string, yielding time proportional to the square of the input length (about 1.4 s for 64 KB of digits and about 22 s for 256 KB). A remote attacker who can supply a string to an isoDate validation can stall the application with a single request. Fixed in 17.13.7 and 18.2.6; as a workaround, cap the length of the string before it reaches joi.
Published: 2026-09-16T21:47:03.073Z
Updated: 2026-09-18T20:06:43.275Z |
Imported from gcve-enriched-dumps CVE data |
CVE:CVE-2026-90771 |
vulnerable | 2026-09-16 04:33:05.607703 |
joi before 17.13.8 and 18.2.9 Prototype Pollution via messages
LOW (3.7)
joi before versions 17.13.8 and 18.2.9 contains a prototype pollution vulnerability in the messages compilation function that accepts __proto__ as an error code. Attackers can supply __proto__ keys in custom messages to replace the returned object's prototype, breaking downstream code relying on Object.prototype methods.
Published: 2026-09-13T10:45:42.498Z
Updated: 2026-09-24T14:21:52.339Z Reference links
|
Imported from gcve-enriched-dumps CVE data |
Contribute
You can submit an edit proposal for this CPE entry or suggest a related product/vendor addition using the action button above.
Inspect record JSON
Open this panel to browse, search, copy or download the JSON record.