---
title: "Node.js Brotli RCE CVE-2026-111497: was Sie updaten müssen"
description: "Node.js hat eine Lücke im Brotli-Decoder behoben, die Remotecodeausführung erlaubt. Korrigiert in 22.23.4, 24.22.1 und 26.12.1. Wer betroffen ist."
source: "https://wardio.net/de/guides/nodejs-brotli-cve-2026-111497/"
---

**Patching**

# Node.js Brotli-Decoder RCE: CVE-2026-111497

Das Sicherheitsrelease von Node.js vom Oktober 2026 behebt zehn Lücken. Eine davon ist ein Fehler im Brotli-Decoder, der laut Projekt Remotecodeausführung erlaubt. Hier steht, wer betroffen ist, und bei welcher Installationsart ein Node-Update das Problem nicht löst.

Von David Kabel · Aktualisiert 2026-10-22 · 4 Min. Lesezeit

**Kurz gesagt**

Aktualisieren Sie auf Node.js 22.23.4, 24.22.1 oder 26.12.1 und starten Sie jeden Node-Prozess neu. Die Lücke ist ein Out-of-Bounds-Write beim Entpacken von Brotli, betroffen ist also Code, der Brotli-Daten eines Angreifers entpackt. Node.js 20 und älter haben das End of Life erreicht und bekommen keinen Fix. Stammt Ihr Node aus Debian- oder Ubuntu-Paketen, muss der Fix stattdessen über das System-Paket `libbrotli` kommen.

## Die vier Fixes hoher Schwere

| CVE | Problem | Betroffene Linien |
| --- | --- | --- |
| CVE-2026-111497 | Out-of-Bounds-Write im Brotli-Decoder erlaubt Remotecodeausführung | 26, 24, 22 |
| CVE-2026-105483 | TLS-Hostnamenprüfung umgangen, wenn die IP in Fullwidth-Ziffern geschrieben ist | 26, 24 |
| CVE-2026-106069 | TLS-Hostnamenprüfung umgangen, wenn der Host lose als IP-Adresse aufgelöst wird | 26, 24, 22 |
| CVE-2026-105482 | dns.resolve kürzt Namen, die ein NUL-Zeichen enthalten | 26, 24, 22 |

Das Release enthält außerdem drei Lücken mittlerer und drei niedriger Schwere sowie Updates für c-ares, Undici, OpenSSL auf 22.x und 24.x, SQLite auf 22.x und den CA-Speicher nach der Kompromittierung der Zwischen-CA von eMudhra. Die Release Notes führen den Brotli-Fix als Cherry-Pick in die mitgelieferte Brotli-Kopie von Node.

## Wer betroffen ist

Die Lücke steckt im Entpacken. Die Frage ist also, ob Ihr Code Brotli-Daten entpackt, die jemand anderes kontrolliert:

-   **Server, die Request-Bodies entpacken**, wenn diese mit `Content-Encoding: br` gesendet werden. Prüfen Sie, ob Ihr Body-Parser oder Framework das tut.
-   **Clients, die Antworten dekodieren** von Servern, die Sie nicht kontrollieren, etwa Scraper, Webhooks, die Redirects folgen, oder Proxys, die entpacken.
-   **Direkte Nutzung** von `zlib.brotliDecompress`, `brotliDecompressSync` oder `createBrotliDecompress` auf hochgeladenen Dateien oder Nutzerdaten.

Eine App, die nur ihre eigenen Antworten mit Brotli komprimiert, entpackt keine fremden Daten. Aktualisieren Sie sie trotzdem. Die beiden Lücken in der TLS-Hostnamenprüfung schwächen die Zertifikatsprüfung bei ausgehenden Verbindungen, deren Host eine IP-Adresse ist oder lose als eine aufgelöst wird.

## Version prüfen

```
node -v                           # korrigiert: v22.23.4, v24.22.1, v26.12.1 oder neuer
which -a node                     # mehr als ein node auf der Maschine?
# Debian- und Ubuntu-Pakete nutzen die System-Brotli-Bibliothek:
dpkg -l nodejs libbrotli1 | awk '/^ii/ {print $2, $3}'
ldd "$(command -v node)" | grep -i brotli
```

Zeigt `ldd` `libbrotlidec`, nutzt Ihr Node die System-Bibliothek, so baut Debian sein `nodejs`\-Paket. Die offiziellen Binaries, nvm, NodeSource und die Docker-Images bringen eine eigene Kopie mit, und die repariert das Node-Update.

## Aktualisieren und neu starten

```
# nvm
nvm install 24 && nvm alias default 24

# Offizielle Docker-Images wurden am 21. Oktober 2026 neu gebaut
docker pull node:24 && docker compose build --pull && docker compose up -d

# NodeSource-Pakete
sudo apt update && sudo apt install --only-upgrade nodejs

# Danach jeden Node-Prozess neu starten: pm2, systemd-Units, Container
pm2 restart all
```

Ein laufender Prozess behält das alte Binary im Speicher. Starten Sie nach dem Upgrade pm2, systemd-Units und Container neu, und bauen Sie Images neu, statt sie nur neu zu starten.

## Wenn Sie heute nicht aktualisieren können

Auf Servern können Sie Brotli-kodierte Request-Bodies am Reverse Proxy ablehnen, bis Sie patchen. Browser senden keine komprimierten Request-Bodies, normale Nutzer merken also nichts:

```
# Notlösung: Brotli-komprimierte Request-Bodies am Proxy ablehnen
if ($http_content_encoding ~* "br") {
    return 415;
}
```

Das deckt ausgehende Requests nicht ab. Für Clients, die von fremden Hosts laden, hilft nur das Update.

## Stolperfallen

-   **Debians Node 20 ist upstream am Ende.** Debian 13 liefert nodejs 20.19.2, das vom Node.js-Projekt nicht mehr unterstützt wird. Es nutzt die System-Brotli-Bibliothek, ob es betroffen ist, hängt also von Debians `brotli`\-Paket ab. Am 21. Oktober 2026 zeigte der Debian-Security-Tracker kein offenes Problem für brotli und keinen Eintrag für CVE-2026-111497. Prüfen Sie erneut, bevor Sie sich darauf verlassen.
-   **Mehrere Node-Installationen auf einem Server.** nvm, ein Systempaket und eine mitgelieferte Runtime in einer Electron- oder Appliance-App können nebeneinander liegen. `which -a node` findet die im PATH, nicht die mitgelieferten.
-   **Festgeschriebene Basis-Images.** Ein Dockerfile mit `node:24.22.0` bleibt verwundbar, egal wie oft Sie neu bauen. Setzen Sie die Version auf `24.22.1` oder neuer.

**So wurde es geprüft.** Am 21. Oktober 2026 haben wir den Beitrag des Node.js-Projekts zum Sicherheitsrelease und die Release Notes von v24.22.1 gelesen, die Aktualisierungszeiten der Docker-Hub-Tags `node:26` und `node:24.22.1` über die Docker-Hub-API bestätigt und die Datei `debian/rules` von Debians nodejs-Paket 20.19.2+dfsg-1+deb13u2 gelesen, das mit `--shared-brotli` baut. Nicht getestet: die Lücke selbst.

## Quellen

1.  [Wednesday, October 21, 2026 Security Releases](https://nodejs.org/en/blog/vulnerability/october-2026-security-releases), Node.js-Projekt
2.  [Node.js 24.22.1 (LTS)](https://nodejs.org/en/blog/release/v24.22.1/), Node.js-Projekt
3.  [Node.js 22.23.4](https://nodejs.org/en/blog/release/v22.23.4/) und [Node.js 26.12.1](https://nodejs.org/en/blog/release/v26.12.1/), Node.js-Projekt
4.  [nodejs debian/rules](https://sources.debian.org/src/nodejs/20.19.2+dfsg-1+deb13u2/debian/rules/), Debian Sources
5.  [brotli](https://security-tracker.debian.org/tracker/source-package/brotli), Debian-Security-Tracker

## Häufige Fragen

### Was ist CVE-2026-111497?

CVE-2026-111497 ist ein Out-of-Bounds-Write hoher Schwere im Brotli-Decoder, den Node.js nutzt. Laut Node.js-Projekt erlaubt er Remotecodeausführung. Betroffen sind die Release-Linien 22.x, 24.x und 26.x. Behoben wurde er am 21. Oktober 2026 durch einen Cherry-Pick in die mitgelieferte Kopie der Brotli-Bibliothek.

### Welche Node.js-Versionen beheben die Brotli-Lücke?

Node.js 22.23.4, 24.22.1 und 26.12.1. Linien nach dem End of Life wie Node.js 20 bekommen keinen Fix, und laut Node.js-Projekt sind Versionen nach dem End of Life bei jedem Sicherheitsrelease immer betroffen.

### Bin ich betroffen, wenn ich Node.js aus Debian- oder Ubuntu-Paketen installiert habe?

Möglicherweise, aber der Fix kommt aus einem anderen Paket. Debian baut sein nodejs-Paket mit --shared-brotli, es nutzt also die System-libbrotli statt der mitgelieferten Kopie. Ein neues Upstream-Release von Node.js ändert dort nichts. Beobachten Sie das brotli-Paket im Security-Tracker Ihrer Distribution.

### Welche Node.js-Anwendungen sind von der Brotli-Lücke betroffen?

Alles, was Brotli-Daten entpackt, die ein Angreifer kontrolliert. Dazu gehören Server, die Request-Bodies mit Content-Encoding: br entpacken, und Clients, die von fremden Servern laden und br-Antworten dekodieren. Code, der nie Brotli entpackt, erreicht die Lücke nicht. Aktualisieren Sie trotzdem, denn dasselbe Release behebt drei weitere Lücken hoher Schwere.

**Node-Dienste, die seit Monaten niemand angefasst hat?**

Die kostenlose Prüfung findet alle Runtimes auf Ihren Servern und wie jede davon gepatcht wird. Die Prüfung läuft auf Englisch. [Preise (EN)](/pricing/).

[Kostenlose Serverprüfung](/contact/)
