Skip to content

Defender Daily

Brotli flaw that can let attackers run code reaches PAN-OS firewalls

Affected
Brotli 1.0.3 through 1.2.0, and Node.js 22, 24 and 26, .NET, PHP for Windows and PAN-OS 11.2.4 and later that bundle it. All versions and fixes

A buffer overflow in Google’s Brotli decoder, , can let an unauthenticated attacker crash a process, read its memory or run code by getting it to decompress crafted data. Node.js, Microsoft’s .NET, PHP’s Windows builds and Palo Alto’s PAN-OS bundle the decoder, and each has shipped fixes or scheduled them. Imperva ran code through the flaw on an official Node.js build. Sysdig says public exploits crash unpatched Node.js, and Palo Alto and Microsoft know of no attacks.

Brotli is a compression format that many HTTP-based applications use, Palo Alto notes. Node.js explains that the decoder treated an invalid block switch as a need for more input rather than an error. So it kept adding input to an eight-byte buffer and wrote past its end. Any application that decompresses Brotli data an attacker supplies can be hit, Node.js says. Imperva sent its data both in a request body and in a response the application fetched.

Palo Alto says PAN-OS 11.2.4 and later on PA-Series and VM-Series firewalls is exposed only when Brotli inspection and TLS decryption are both on. Brotli inspection is off by default. The management interface, Panorama and PAN-OS 11.1 and 10.2 aren’t affected. Microsoft says .NET decompresses Brotli only when an application opts in, and PHP says its Windows builds expose the flaw through cURL when automatic response decompression is on.

Imperva says its exploit ran code on the official Node.js 24.22.0 image for Linux arm64, though not on every attempt. Sysdig says Imperva hasn’t released it, and that public exploits crash unpatched Node.js. One team ran commands with its public exploit, Sysdig says, but needed a build that loads an unfixed system Brotli library and a predictable memory layout. Its blind remote attempts with address randomization on didn’t work. CISA recorded no exploitation on Oct 23, and Palo Alto and Microsoft say they know of no attacks.

Many projects ship their own copy of the decoder, so a system library update doesn’t fix them. Palo Alto says a Threat Prevention signature gives partial coverage. CISA rates the flaw not automatable but with total technical impact, and Microsoft rates exploitation more likely.

CVE
Vendor
Google

What to do

6 steps

Affected and fixed versions

  • Product
    Brotli
    Affected
    1.0.3 through 1.2.0
    Fixed
    1.0.10, 1.1.1 or 1.2.1
  • Product
    Node.js 22, 24 and 26
    Affected
    Before 22.23.4, 24.22.1 and 26.12.1
    Fixed
    22.23.4, 24.22.1 or 26.12.1
  • Product
    .NET 8, 9, 10 and 11
    Affected
    Versions before Microsoft’s Oct 25 updates
    Fixed
    Microsoft’s Oct 25 updates
  • Product
    PHP 8.2 to 8.5 for Windows
    Affected
    Windows builds before the rebuilt packages
    Fixed
    8.5.12-1, 8.4.27-1, 8.3.36-1 or 8.2.35-1
  • Product
    PAN-OS 12.2
    Affected
    Before 12.2.4-h1
    Fixed
    12.2.4-h1
  • Product
    PAN-OS 12.1
    Affected
    Before 12.1.4-h13, 12.1.7-h11 and 12.1.10-h3
    Fixed
    12.1.7-h11, with 12.1.4-h13 due Oct 29 and 12.1.10-h3 due Oct 30
  • Product
    PAN-OS 11.2
    Affected
    Before 11.2.4-h23, 11.2.7-h23, 11.2.10-h17, 11.2.13-h4 and 11.2.16-h1
    Fixed
    11.2.10-h17, with the other hotfixes due Oct 27 to Oct 30
  • Product
    Prisma Cloud Application Security Transporter Client
    Affected
    Before 0.2.9
    Fixed
    0.2.9

Timeline

  1. Oct 21Node.js ships fixed releases, and Google publishes Brotli 1.0.10, 1.1.1 and 1.2.1.
  2. Oct 22Imperva reports running code through the flaw on an official Node.js build.
  3. Oct 25Microsoft releases updates for .NET, Visual Studio and PowerShell.
  4. Oct 26PHP publishes rebuilt Windows packages with Brotli 1.2.1, and Palo Alto publishes its advisory.

Sources

Tags

Subscribe

Get the Daily Brief by email

Weekdays at 7am ET.

We’ll email you a link to confirm. Unsubscribe from any email.