# @asymmetric-effort/nogginlessdom ReDoS via unvalidated regex in HTMLInputElement

Source: https://junglewise.ai/threats/asymmetric-effort-nogginlessdom-redos-via-unvalidated-regex-in-5e4ba667  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-07-02. Updated: 2026-09-25  
License: CC BY 4.0 with a link back

Severity: medium · CVSS 4 · Published 2026-07-02

@asymmetric-effort/nogginlessdom is a JavaScript library that provides DOM element validation. The library's HTMLInputElement.checkValidity() method constructs regular expressions directly from user-controlled input patterns without sanitization, allowing an attacker to craft malicious regex patterns that cause catastrophic backtracking and freeze the application's event loop, resulting in a denial of service.

Vendors: [Asymmetric Effort](https://junglewise.ai/threats/vendors/asymmetric-effort), [npm](https://junglewise.ai/threats/vendors/npm).

## Quick answers

**Is This vulnerability exploited in the wild?** No. Junglewise Threat Intelligence has no report of This vulnerability being exploited in the wild.

**How severe is This vulnerability?** Medium severity, with a CVSS score of 4, published 2 July 2026.

**Which products and versions are affected?** Asymmetric Effort Nogginlessdom <= 0.0.21; @asymmetric-effort/nogginlessdom (npm) SEMVER:introduced=0,fixed=0.0.22.

**Is there a fix for This vulnerability?** Yes. @asymmetric-effort/nogginlessdom (npm): upgrade to 0.0.22 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is This vulnerability attacked?** It is attacked over the network, in a software library.

**Am I affected?** Check whether you run Asymmetric Effort Nogginlessdom or @asymmetric-effort/nogginlessdom (npm) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- @asymmetric-effort/nogginlessdom (npm): upgrade to 0.0.22 or later

  ```sh
  npm install @asymmetric-effort/nogginlessdom@0.0.22
  ```


## Technical details

This is a Regular Expression Denial of Service (ReDoS) vulnerability in the HTMLInputElement.checkValidity() method. The vulnerable component directly constructs a RegExp object from the user-controlled pattern property without sanitization or timeout protection, enabling an attacker to inject patterns with nested quantifiers (e.g., (a+)+) that trigger exponential backtracking. The attack requires no authentication or special privileges; any caller of checkValidity() with an attacker-controlled pattern can exploit this. A successful exploit freezes the event loop, causing the application to become unresponsive. The vulnerability was patched in version 0.0.22 by adding a 1024-character pattern length limit and nested quantifier detection that rejects dangerous patterns before regex compilation.

## Affected products

- asymmetric-effort nogginlessdom <= 0.0.21

## Timeline

- 2026-07-02: disclosed: Advisory GHSA-x4hg-hfwf-p9mw published
- 2026-07-02: patched: Fix released in version 0.0.22 with pattern length limit and nested quantifier detection

## References

- [https://github.com/asymmetric-effort/NogginLessDom/security/advisories/GHSA-x4hg-hfwf-p9mw](https://github.com/asymmetric-effort/NogginLessDom/security/advisories/GHSA-x4hg-hfwf-p9mw)
- [https://github.com/asymmetric-effort/NogginLessDom/commit/25a3cbac665fae5663f8b71c073b80c3152dbe7b](https://github.com/asymmetric-effort/NogginLessDom/commit/25a3cbac665fae5663f8b71c073b80c3152dbe7b)

## Related threats

- [@asymmetric-effort/nogginlessdom path traversal in matchFileSnapshot](https://junglewise.ai/threats/asymmetric-effort-nogginlessdom-path-traversal-in-matchfilesnapshot-a0019d0e)
