@asymmetric-effort/nogginlessdom vulnerable to ReDoS via user-controlled regex in HTMLInputElement pattern validation
Affects @asymmetric-effort/nogginlessdomSource GCVE Database
CVSS 6.9 Medium : upgrade to 0.0.22 when convenient.
Data as of 4 Jul 2026, 22:34 UTC
- Patch
- Available – fixed in 0.0.22
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:NWhat to do
Upgrade @asymmetric-effort/nogginlessdom to 0.0.22.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| npm@asymmetric-effort/nogginlessdom | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
AI-suggested
A fix is available in versions 0.0.22 and later of @asymmetric-effort/nogginlessdom. The fix includes limiting the pattern length and rejecting patterns with nested quantifiers before regex construction. Users should upgrade to version 0.0.22 or later to mitigate this vulnerability.
Description
## Summary The `HTMLInputElement.checkValidity()` method constructed a `RegExp` directly from the user-controlled `pattern` property without any sanitization or timeout protection. This allowed an attacker to inject a regex with catastrophic backtracking, freezing the event loop. ## Fix Fixed in commit https://github.com/asymmetric-effort/NogginLessDom/commit/25a3cbac665fae5663f8b71c073b80c3152dbe7b on `main`. Added: - Pattern length limit (1024 characters) - Nested quantifier detection (`hasNestedQuantifiers`) that rejects patterns like `(a+)+` before constructing the regex - Patterns exceeding limits are treated as non-matching (safe default)