Skip to main content
VulnerabilityPublished

@asymmetric-effort/nogginlessdom vulnerable to ReDoS via user-controlled regex in HTMLInputElement pattern validation

Affects @asymmetric-effort/nogginlessdomSource GCVE Database

0

CVSS 6.9 Medium : upgrade to 0.0.22 when convenient.

Data as of 4 Jul 2026, 22:34 UTC

CVSS 4.0 base score
6.9Medium
How severe the flaw is on the 0–10 CVSS scale.
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:N

What to do

Upgrade @asymmetric-effort/nogginlessdom to 0.0.22.

Affected software

ProductAffectedFixed in
npm@asymmetric-effort/nogginlessdomAffected
  • <0.0.22
Fixed in
  • 0.0.22

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)

References

Community reviews

Loading reviews…