GitHub Advisoryadvisory · npm

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

MEDIUM Published 2026-07-02 Modified 2026-07-02 Official page ↗
Ecosystem
npm
Packages
@asymmetric-effort/nogginlessdom
Severity
Moderate
CVSS vector
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
Weaknesses
CWE-1333
Reviewed
2026-07-02

Affected packages

• npm @asymmetric-effort/nogginlessdom: < 0.0.22 → fixed in 0.0.22

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)

Related

Weakness · CWE (1)

  • CWE-1333 Inefficient Regular Expression Complexity weakness

References