What changed
The Node.js project released security updates for the active 22.x, 24.x and 26.x lines on July 29, 2026. The release fixes three high-severity vulnerabilities: an HTTP/2 retained-header path that can bypass session-memory limits and exhaust memory, an HTTP/2 re-entrant send bug that can trigger a heap use-after-free, and a Permission Model radix-tree matching bug that can grant filesystem access outside an intended allowlist. The same release also fixes medium-severity HTTPS Agent identity/session reuse, SQLite iterator replay, DNS and zlib denial-of-service issues, plus low-severity Permission Model and HTTP request-smuggling flaws. Fixed versions are v22.23.2, v24.18.1 and v26.5.1.
Why it matters
This is a runtime patch rather than an application-library update, so vulnerable behavior can sit underneath otherwise fully patched dependency graphs. Internet-facing Node HTTP/2 servers have denial-of-service and memory-safety exposure, while applications relying on `--permission` as a sandbox boundary can grant broader filesystem access than their configuration suggests. The practical action is straightforward: move active production lines to the patched runtime releases and rebuild deployment images, not merely run a package-manager audit.
Two high-severity fixes sit in the HTTP/2 stack
CVE-2026-56846 allows retained HTTP/2 header blocks to escape the intended `maxSessionMemory` accounting and drive remote memory exhaustion. Node’s bulletin lists active 24.x and 22.x as affected by this issue. CVE-2026-56848 is a separate re-entrancy bug where an HTTP/2 send can occur while receive processing is active, producing a heap use-after-free; Node lists 26.x, 24.x and 22.x as affected.
The Permission Model had an allowlist-boundary failure
CVE-2026-58043 affects Node’s `--permission` filesystem enforcement. A radix-tree prefix-boundary error can let code granted access to one path read or write outside the intended allowlist. That makes the patch particularly important for workloads treating Node’s Permission Model as a containment layer for plugins, user code or partially trusted automation.
HTTPS Agent reuse also received two fixes
CVE-2026-56850 fixes connection reuse that could cross PFX client-certificate identities in mTLS scenarios. CVE-2026-58040 fixes TLS session reuse that could skip hostname verification across identity policies. These are narrower than the headline HTTP/2 issues but matter for services making outbound HTTPS calls with multiple client identities or policy domains through shared Agents.
Several availability and integrity bugs were fixed in core modules
The release also addresses a `node:sqlite` SQLTagStore iterator path that can replay writes, a `dns.resolveAny()` abort on responses with many A records, and a zlib synchronous-API crash reachable through a spoofed TypedArray length. Low-severity fixes close two additional Permission Model write paths and an HTTP parser/header truncation condition that can enable request smuggling in certain Node-based forwarding proxies.
Patch the runtime artifact, not just npm dependencies
The fixed releases are Node v22.23.2, v24.18.1 and v26.5.1. Teams using containers, serverless base images, buildpacks or managed runtimes should verify the actual Node binary in the deployed artifact after rebuilding. A clean `npm audit` does not demonstrate that these runtime CVEs are fixed.