A Vulnerability in Brotli Library Could Allow for Remote Code Execution

MS-ISAC ADVISORY NUMBER:

2026-120

DATE(S) ISSUED:

10/27/2026

OVERVIEW:

A vulnerability has been discovered in the Brotli library that could allow for remote code execution. Brotli is a compression algorithm developed by Google and commonly used to compress web content before it is sent over HTTP. Successful exploitation could allow an unauthenticated remote attacker to trigger memory corruption, disclose sensitive information, crash affected processes, or potentially achieve remote code execution (RCE). Web servers and applications that decompress Brotli data from untrusted sources, such as those running Node.js, may be affected.

THREAT INTELLIGENCE:

There are no reports of malicious exploitation in the wild. However, public proof-of-concept code is available.

SYSTEMS AFFECTED:

  • Google Brotli versions 1.0.3 through 1.0.9, 1.1.0, and 1.2.0
  • Node.js versions prior to 22.23.4 (22.x), 24.22.1 (24.x), and 26.12.1 (26.x). Node.js 20.x, 23.x, and 25.x are end-of-life and will not receive a fix.
  • Bun versions 1.4.3 and earlier
  • Envoy Proxy and Istio, when the Brotli decompressor is configured, in versions prior to the fixed releases (Envoy 1.40.0, 1.39.3, 1.38.6, 1.37.8; Istio 1.29.9, 1.30.6, 1.31.2)
  • Python Brotli versions 1.2.0 and earlier, and brotlicffi versions 1.2.0.x and earlier
  • Java brotli4j versions prior to 1.24.0
  • Microsoft .NET applications that enable Brotli decompression or explicitly use Brotli decompression APIs (.NET Framework is not affected)
  • Other software or Linux distribution packages that bundle or link a vulnerable Brotli library

RISK:

Government:
Large and medium government entitiesHIGH
Small governmentMEDIUM
Businesses:
Large and medium business entitiesHIGH
Small business entitiesMEDIUM
Home Users:
N/A

TECHNICAL SUMMARY:

A vulnerability has been discovered in the Brotli library that could allow an attacker to corrupt memory, potentially leading to information disclosure, denial of service, or remote code execution. Details of this vulnerability are as follows: 

 

Tactic: Initial Access (TA0001):

Technique: Exploit Public-Facing Application (T1190):

 

  • An out-of-bounds write vulnerability exists in the Brotli decoder (c/dec/decode.c) in Google Brotli versions 1.0.3 through 1.2.0 on all platforms, also tracked as Node2Shell, HTTP2Shell, and Broccoli2Shell. An error-handling flaw in block-switch processing causes the decoder to treat an invalid block switch as incomplete input, so it continues in an invalid state and writes beyond the intended buffer. A remote, unauthenticated attacker could supply a crafted Brotli-compressed stream to corrupt adjacent decoder state memory, disclose sensitive memory contents, crash the process, or potentially execute code with the privileges of the affected process. Exposure occurs whenever attacker-controlled Brotli data reaches a vulnerable decoder, such as compressed HTTP request bodies (for example, Express 5 with default JSON body parsing), responses fetched from untrusted servers (for example, Node.js fetch() with Content-Encoding: br), or compressed files. (CVE-2026-111497)
  • Successful exploitation could allow an unauthenticated remote attacker to trigger memory corruption, disclose sensitive information, crash affected processes, or potentially achieve remote code execution (RCE).


RECOMMENDATIONS:

We recommend the following actions be taken:

 

  • Identify web servers and applications running vulnerable versions of Node.js or other affected software that decompresses Brotli data. Apply appropriate updates provided by Google, Node.js, Bun, and other affected vendors to vulnerable systems immediately after appropriate testing. (M1051: Update Software)
  • Safeguard 7.1: Establish and Maintain a Vulnerability Management Process: Establish and maintain a documented vulnerability management process for enterprise assets. Review and update documentation annually, or when significant enterprise changes occur that could impact this Safeguard.
  • Safeguard 7.2: Establish and Maintain a Remediation Process: Establish and maintain a risk-based remediation strategy documented in a remediation process, with monthly, or more frequent, reviews.
  • Safeguard 7.4: Perform Automated Application Patch Management: Perform application updates on enterprise assets through automated patch management on a monthly, or more frequent, basis.
  • Safeguard 7.5: Perform Automated Vulnerability Scans of Internal Enterprise Assets: Perform automated vulnerability scans of internal enterprise assets on a quarterly, or more frequent, basis. Conduct both authenticated and unauthenticated scans, using a SCAP-compliant vulnerability scanning tool.
  • Safeguard 7.7: Remediate Detected Vulnerabilities: Remediate detected vulnerabilities in software through processes and tooling on a monthly, or more frequent, basis, based on the remediation process.
  • Safeguard 12.1: Ensure Network Infrastructure is Up-to-Date: Ensure network infrastructure is kept up-to-date. Example implementations include running the latest stable release of software and/or using currently supported network-as-a-service (NaaS) offerings. Review software versions monthly, or more frequently, to verify software support.
  • Safeguard 18.1: Establish and Maintain a Penetration Testing Program: Establish and maintain a penetration testing program appropriate to the size, complexity, and maturity of the enterprise. Penetration testing program characteristics include scope, such as network, web application, Application Programming Interface (API), hosted services, and physical premise controls; frequency; limitations, such as acceptable hours, and excluded attack types; point of contact information; remediation, such as how findings will be routed internally; and retrospective requirements.
  • Safeguard 18.2: Perform Periodic External Penetration Tests: Perform periodic external penetration tests based on program requirements, no less than annually. External penetration testing must include enterprise and environmental reconnaissance to detect exploitable information. Penetration testing requires specialized skills and experience and must be conducted through a qualified party. The testing may be clear box or opaque box.
  • Safeguard 18.3: Remediate Penetration Test Findings: Remediate penetration test findings based on the enterprise’s policy for remediation scope and prioritization.

 

  • Apply the Principle of Least Privilege to all systems and services. Run all software as a non-privileged user (one without administrative privileges) to diminish the effects of a successful attack. (M1026: Privileged Account Management)
  • Safeguard 4.7: Manage Default Accounts on Enterprise Assets and Software: Manage default accounts on enterprise assets and software, such as root, administrator, and other pre-configured vendor accounts. Example implementations can include: disabling default accounts or making them unusable.
  • Safeguard 5.5: Establish and Maintain an Inventory of Service Accounts: Establish and maintain an inventory of service accounts. The inventory, at a minimum, must contain department owner, review date, and purpose. Perform service account reviews to validate that all active accounts are authorized, on a recurring schedule at a minimum quarterly, or more frequently.

 

  • Vulnerability scanning is used to find potentially exploitable software vulnerabilities to remediate them. (M1016: Vulnerability Scanning)
  • Safeguard 16.13: Conduct Application Penetration Testing: Conduct application penetration testing. For critical applications, authenticated penetration testing is better suited to finding business logic vulnerabilities than code scanning and automated security testing. Penetration testing relies on the skill of the tester to manually manipulate an application as an authenticated and unauthenticated user.

 

  • Architect sections of the network to isolate critical systems, functions, or resources. Use physical and logical segmentation to prevent access to potentially sensitive systems and information. Use a DMZ to contain any internet-facing services that should not be exposed from the internal network. Configure separate virtual private cloud (VPC) instances to isolate critical cloud systems. (M1030: Network Segmentation)
  • Safeguard 12.2: Establish and Maintain a Secure Network Architecture: Establish and maintain a secure network architecture. A secure network architecture must address segmentation, least privilege, and availability, at a minimum.

 

  • Until patches can be applied, restrict or disable Brotli decompression of untrusted data, such as by rejecting Content-Encoding: br on request bodies at the proxy or load balancer where it is not needed. (M1050: Exploit Protection)
  • Safeguard 10.5: Enable Anti-Exploitation Features: Enable anti-exploitation features on enterprise assets and software, where possible, such as Microsoft® Data Execution Prevention (DEP), Windows® Defender Exploit Guard (WDEG), or Apple® System Integrity Protection (SIP) and Gatekeeper™.


Get Email Updates When Cyber Threats Like This Arise

Subscribe to Advisories