PatchSiren

PatchSiren cyber security CVE debrief

CVE-2026-3449 TooTallNate CVE debrief

## Summary CVE-2026-3449 is a **LOW-severity** vulnerability (CVSS 4.0: 1.9) in the npm package `@tootallnate/once` affecting versions prior to 3.0.1. The issue involves **Incorrect Control Flow Scoping (CWE-705)** when using the `AbortSignal` option, causing Promises to remain in a permanently pending state after signal abortion. This can lead to stalled requests, blocked workers, or degraded application availability. ## Technical Details The vulnerability occurs in promise resolution logic when an `AbortSignal` is provided. Upon signal abortion, the Promise fails to reject or resolve, leaving it in a hanging state. Any code awaiting this Promise or using `.then()` will block indefinitely, creating a control-flow leak that can accumulate over time and degrade system performance. ## Affected Versions - **Package:** `@tootallnate/once` - **Vulnerable:** < 3.0.1 - **Patched:** 3.0.1 ## Risk Assessment | Factor | Assessment | |--------|-----------| | **Severity** | LOW (CVSS 1.9) | | **Attack Vector** | Local | | **Privileges Required** | Low | | **Availability Impact** | Low | | **Exploitability** | Proof-of-concept exists | | **KEV Listed** | No | The low severity reflects the local attack vector and limited availability impact, though the indefinite hanging behavior poses operational risks in long-running applications. ## Recommended Actions 1. **Upgrade** to `@tootallnate/once` version 3.0.1 or later 2. **Audit dependencies** for transitive usage of vulnerable versions 3. **Implement timeouts** on Promise-based operations as defense-in-depth 4. **Monitor** for stalled requests or worker thread exhaustion in production ## Timeline - **2026-03-03:** CVE published - **2026-05-19:** CVE last modified

Vendor
TooTallNate
Product
@tootallnate/once
CVSS
LOW 1.9
CISA KEV
Not listed in stored evidence
Original CVE published
2026-03-03
Original CVE updated
2026-05-19
Advisory published
2026-03-03
Advisory updated
2026-05-19

Who should care

Node.js developers using @tootallnate/once for promise-based flow control, particularly in server applications or worker pools where AbortSignal is used for cancellation patterns.

Technical summary

The @tootallnate/once package before 3.0.1 fails to properly handle AbortSignal abortion, leaving Promises in a permanently pending state. This causes indefinite blocking of await/.then() chains, potentially leading to resource exhaustion in applications using abortable operations.

Defensive priority

low

Recommended defensive actions

  • Upgrade to @tootallnate/once version 3.0.1 or later
  • Audit dependencies for transitive usage of vulnerable versions
  • Implement timeouts on Promise-based operations as defense-in-depth
  • Monitor for stalled requests or worker thread exhaustion in production

Evidence notes

Vulnerability reported via Snyk. Fix commit and issue discussion available in source repository. NVD status: Deferred.

Sources and references

Verified primary and authoritative sources

  • CVE-2026-3449 CVE Program record

    Publisher, destination, and source semantics verified

    URL: https://www.cve.org/CVERecord?id=CVE-2026-3449

    CVE Program - Official CVE Program record with source-provided CVE metadata.

  • CVE-2026-3449 NVD vulnerability detail

    Publisher, destination, and source semantics verified

    URL: https://nvd.nist.gov/vuln/detail/CVE-2026-3449

    NIST National Vulnerability Database - Official NIST NVD detail page and source-specific vulnerability assessment.

Supplemental references

Methodology and review provenance

AI-assisted synthesis based on stored public vulnerability evidence. System validation, approval state, and publication status do not by themselves establish human review of this revision. PatchSiren helps prioritize defensive review and does not prove exposure or remediation on any system.