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.

Official resources

public