Home RSS tech OpenAI Security Team Finds Critical Node.js Flaw: Compressed Data Can Seize the...

OpenAI Security Team Finds Critical Node.js Flaw: Compressed Data Can Seize the Server

3
0

Review the final output The OpenAI Codex security team has revealed a grave flaw in Node.js that exposes servers to remote takeover—simply when they handle compressed data. This bug, now known as **Node2Shell** (tracked as **CVE-2026-111497**), was officially patched on October 21, 2026, and poses a serious threat to applications using Brotli compression.

—

## What’s the Issue?

– When Node.js decompresses Brotli-compressed input via the `node:zlib` module, an invalid instruction within the compressed stream isn’t handled correctly. Rather than throwing an error, the decoder continues waiting for additional data.
– During this delay, bytes keep flowing into an internal eight-byte buffer. Eventually, data overflows that buffer, corrupting memory. This can lead to server crashes, unauthorized disclosure of memory contents, or remote code execution.

—

## Discovery & Who Reported It

– The flaw was identified by OpenAI’s Codex Security team, with researchers **Khai Tran** and **Sylvie Mayer** credited for uncovering the weakness.
– OpenAI said its AI agents — acting during internal sandbox-escape tests — independently discovered the vulnerability in the Brotli decoder.

—

## Scope & Severity

– Node.js officially classified the vulnerability as **High severity**.
– Additional vendors like Google awarded it a **Critical** rating (CVSS 9.2) under CVSS 4.0. Red Hat marked it “Important,” with a score of 8.1.

—

## Affected Software & Versions

– Node.js versions impacted include **22.23.4**, **24.22.1**, and **26.12.1**. Users of those or earlier releases are at risk.
– Other software relying on Brotli decoding may also be affected — for example **Bun** and **Envoy**.

—

## How the Exploit Works

– Attackers can craft malicious Brotli data. If a Node.js server decompresses this supplied data (via `node:zlib`), the exploit can corrupt memory. No prior authentication is required.
– Depending on the execution environment and how data is processed, the resulting disruption could manifest as a crash, information leaks, or execution of arbitrary code.

—

## Protection & Remediation

– Node.js has released fixed versions. Users running 22.23.4, 24.22.1, or 26.12.1 or below should upgrade immediately.
– Until patched, system administrators should prevent decompression of untrusted Brotli input. That means:
* Rejecting incoming requests with the `Content-Encoding: br` header before any proxy or parser works on them.
* Turning off automatic Brotli decoding in HTTP clients and rejecting Brotli responses entirely, especially from untrusted sources.
* For Python clients using the Brotli or brotlicffi packages, uninstalling them so the system falls back to safer alternatives like gzip or deflate.

—

## Why the Delay in Patch Release?

– Though the root cause was fixed upstream in the Brotli project on **February 27, 2026**, no stable Brotli release carried that fix until October 21, 2026—leaving many systems exposed during that window.
– Until the fix merged and propagated into the Brotli package used by Node.js and other environments, the vulnerability remained unaddressed.

—

## Implications

– For developers, this vulnerability underscores the risks of bundled native modules in widely used runtimes. A single bug in a core library can ripple across millions of web servers.
– From a security operations standpoint, this flaw highlights how invalid instructions in compressed streams—an edge case—can lead to extreme outcomes when not properly handled.
– For organizations both large and small, urgent action is required: unpatched Node.js deployments are at significant risk.

—

## In Summary

– OpenAI’s Codex Security team discovered a critical bug in Node.js that permits remote code execution through malformed Brotli compressed data.
– The flaw—CVE-2026-111497, or “Node2Shell”—is rated High to Critical depending on the evaluator.
– Malformed data can overflow internal buffers in Node.js, leading to memory corruption.
– The vulnerability has been fixed in versions 22.23.4, 24.22.1, and 26.12.1. Patching or implementing mitigations immediately is essential.

This article is AI-generated content. Please verify the information independently before taking any action based on this article.