DriversRecommendedOutdated drivers can make a good PC feel brokenScan driver issues before chasing fixes manually.Scan NowEarly Black FridayAmazon USEarly Black Friday picks are worth checking nowAmazon US: current deals, useful picks and tech finds.Check DealsClean PCRecommendedOne scan can reveal what keeps slowing WindowsLook for cleanup and repair opportunities.Run Scan×
FREEDOM251

Freedom251 › Blog

OpenAI Security Researchers Find High-Severity Brotli Flaw in Node.js: Are Compressed Requests Dangerous?

By Freedom251 Team · · 5 min read

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.

Node.js is not automatically exposed, but applications that decompress attacker-controlled Brotli data should be patched immediately. The Node.js Project disclosed CVE-2026-111497 on October 21, 2026. Malformed compressed input can make the Brotli decoder bundled with Node.js write beyond an internal buffer, potentially causing a crash, disclosure of process memory or remote code execution. OpenAI Codex Security researchers Khai Tran and Sylvie Mayer reported the flaw.

Exposure depends on whether an application actually reaches the vulnerable decoder with data an attacker can influence. A basic Node.js HTTP server does not decompress request bodies by itself.

As an Amazon Associate I earn from qualifying purchases.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What exactly is the Node.js Brotli vulnerability?

The Node.js Project describes CVE-2026-111497 as a flaw in its bundled Brotli decoder: “A flaw in the Brotli decoder bundled with Node.js allows malformed compressed input to write past the end of an internal decoder buffer.” An out-of-bounds write can corrupt process memory. Depending on how the process is arranged and what data is overwritten, consequences can include a denial-of-service crash, exposure of memory contents or code execution with the privileges of the Node.js process.

The issue is in decompression code, not in every HTTP connection or every compressed file. An attacker must get malicious Brotli data to a program path that decodes it.

Am I affected if my Node.js application accepts compressed data?

You are potentially exposed when an untrusted party can supply Brotli bytes and your application, framework or dependency decompresses them. Check these common paths:

  • Explicit use of node:zlib: code calling Brotli decompression functions on uploads, messages or request bodies.
  • Automatic response decoding: a client using fetch() may decode Brotli responses received from a server it does not fully trust.
  • Request middleware: an API or proxy that accepts a Brotli-encoded request body and decompresses it before parsing.
  • Internal services: a supposedly private endpoint can still be risky if another tenant, compromised service or untrusted integration controls the compressed payload.

A plain Node.js HTTP server does not automatically decode incoming request bodies. Merely running Node.js, or serving ordinary uncompressed traffic, does not prove that the vulnerable code is reachable.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Which Node.js versions are vulnerable?

The Node.js advisory identifies the 22.x, 24.x and 26.x release lines as affected. The fixed releases are:

Affected line Fixed release
22.x 22.23.4
24.x 24.22.1
26.x 26.12.1

Node.js 20.x and earlier are end of life and do not receive this update. Move those deployments to a supported release line rather than treating an unsupported runtime as a long-term mitigation.

How should operators patch CVE-2026-111497?

  1. Inventory runtimes: record the Node.js version in production hosts, serverless images, worker processes and build containers. The command node --version shows the runtime in a shell.
  2. Trace decompression: search application code and dependency configuration for Brotli handling, node:zlib, request-body decompression and clients that accept compressed responses.
  3. Upgrade: install 22.23.4, 24.22.1 or 26.12.1, or a later release that includes the fix. Update the base image and lockfile where applicable.
  4. Rebuild and redeploy: rebuilding an image is necessary if the old Node.js binary is baked into it. A package change on a build machine does not replace the decoder already loaded by a running process.
  5. Restart services: recycle workers, long-lived queues and application servers so they load the fixed decoder.
  6. Verify: check the running process version after deployment, not only the version used during the build, and confirm that all replicas were replaced.

The Node.js advisory lists no temporary workaround. If an upgrade is delayed, disable or avoid decoding untrusted Brotli data where your architecture allows it, isolate the decoder behind a tightly controlled boundary and reduce exposure. These steps reduce risk temporarily; they do not replace patching.

Why are severity ratings described differently?

Node.js calls the vulnerability high severity. A technical report published October 24, 2026 said Google assigned a CVSS 4.0 score of 9.2 and described it as critical. Those are different assessments from different sources. Report both with their attribution rather than presenting the Google score as Node.js’s own label.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The same October 24 report said no in-the-wild exploitation had been reported as of that date. That is a time-limited observation, not a promise that exploitation cannot begin later. Recheck current advisories, vendor notices and incident reports when making an operational decision.

Does the flaw affect software outside Node.js?

Yes. Projects often bundle their own Brotli implementation. The October 24 technical report identified Bun, Envoy, Istio and Python Brotli packages among potentially affected software. Their exposure depends on whether the product decodes attacker-controlled Brotli data and, in some cases, whether decompression is enabled by configuration.

Do not apply Node.js version numbers to those projects. Consult each project’s current advisory and fixed release. Google Brotli’s release page lists security releases 1.2.1, 1.1.1 and 1.0.10 for this CVE, all released October 21, 2026, but downstream products may ship those fixes on different schedules.

What should security teams check first?

  • Identify internet-facing endpoints that accept compressed request bodies.
  • Review reverse proxies and middleware for Brotli request decompression.
  • Check outbound clients that automatically decode compressed responses from untrusted servers.
  • Prioritize processes with high privileges, access to secrets or broad network reach.
  • Confirm that patched binaries are running after every restart and container rollout.
  • Preserve logs for unusual decompression errors, crashes or unexpected child-process activity while investigating.

The practical decision is reachability: determine whether an attacker can control bytes that the vulnerable decoder processes. A service with no Brotli decoding path is not made vulnerable merely by having Node.js installed, while a client or middleware that transparently decompresses untrusted content should be treated as exposed until updated.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Frequently Asked Questions

Can a malicious HTTP request exploit this if my API does not support Brotli?

Usually not through this specific path. If the server never invokes Brotli decompression and rejects or ignores compressed request bodies, the vulnerable decoder is not reached; verify that a proxy or framework layer is not decoding before your application sees the request.

Is upgrading Node.js enough for applications using a separate Brotli package?

Not necessarily. Separately bundled libraries have their own release versions and patch timelines, so check that package’s advisory and update it independently of the Node.js runtime.

Should I rotate secrets after patching?

Rotation is not automatically required by the advisory. Consider rotating credentials if you find evidence of memory disclosure, code execution, unexplained crashes or other compromise indicators; otherwise prioritize replacing vulnerable processes and reviewing logs.

Can a client be attacked by a server through compressed responses?

Yes, if the client accepts a Brotli response from an attacker-controlled or compromised server and decodes it. This is why outbound fetchers and command-line or service clients need review, not only servers receiving requests.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply. Prices as of November 13, 2026 12:49 am GMT+0530.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Recommended PC Tool
Recommended PC Tool
Windows Errors? Fix Them Before They SpreadFree repair scan
Crashes, No Sound, or Screen Glitches?Free driver scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.