Brotli-Lücke in Claude Code: Ein Node-Update reicht nicht

Aktualisiere die ausführbare Claude-Code-Datei sowie separate Node.js- und Bun-Laufzeitumgebungen. Prüfe die aktive Installation und CI-Images, ohne die Claude-Version als Beleg für einen gepatchten Decoder zu behandeln.

Inhalt
Brotli-Lücke in Claude Code: Ein Node-Update reicht nicht

Aktualisiere nach der Warnung zur Brotli-Lücke in Claude Code die ausführbare Datei, die du tatsächlich verwendest, starte den Client neu und patche separat Node.js oder Bun für deine anderen Tools. Ein Update des systemweiten Node.js ersetzt nicht die mitgelieferte Laufzeitumgebung von Claude Code; das gilt auch für die native ausführbare Datei aus aktuellen npm-Installationen. Stand 2026-10-23 bestätigt Anthropics Versionshinweis zu 2.1.308 keine Brotli-Korrektur, weshalb diese Versionsnummer allein nicht als Nachweis für eine Sicherheitsfreigabe reicht.

Warum du Agenten mit Webzugriff prüfen solltest

Das relevante Risiko entsteht, wenn ein Prozess Brotli-Daten decodiert, die ein Angreifer kontrolliert. Ein Agent kann beim Abrufen von Dokumentation oder beim Auslesen einer Website auf solche Daten stoßen, bevor das Modell lesbaren Seiteninhalt erhält.

CVE-2026-111497 bezeichnet einen Schreibzugriff außerhalb der Puffergrenzen im Brotli-Decoder von Google. Der von Google verfasste CVE-Eintrag beschreibt mögliche Folgen eines präparierten komprimierten Datenstroms: die Offenlegung von Speicherinhalten, Dienstverweigerung und die Ausführung beliebigen Codes. Google bewertet die zugrunde liegende Schwachstelle mit CVSS 4.0 und 9.2 Punkten als Critical; der Sicherheitshinweis von Node.js stuft ihre Auswirkungen auf Node.js als High ein.

Laut Buns fetch-Dokumentation ist die automatische Dekomprimierung von Antworten standardmäßig aktiviert und unterstützt Brotli. Ein mit Buns fetch() implementiertes Tool kann daher den Decoder aufrufen, wenn ein Server Content-Encoding: br zurückgibt.

Das ist ein Anlass, lokal ausgeführte Abrufwerkzeuge zu prüfen. Ob eine bestimmte Claude-Code-Operation einen betroffenen Decoder erreicht, hängt weiterhin von ihrer Implementierung und davon ab, wo der Abruf ausgeführt wird. Ein lokaler MCP-Server, ein Shell-Befehl und ein entfernt betriebener Abrufdienst können unterschiedliche Laufzeitumgebungen verwenden.

Eine Webanwendungsfirewall für eingehende Anfragen deckt nicht jeden dieser Wege ab. Vercels Sicherheitshinweis unterscheidet ausdrücklich zwischen eingehenden Anfragen und Antworten, die eine Anwendung selbst abruft: Die WAF-Schutzmaßnahmen ersetzen keinen Patch der Laufzeitumgebung, die diese Antworten verarbeitet.

Welche korrigierten Versionen sind bestätigt?

Die korrigierten Node.js- und Bun-Versionen sind durch Primärquellen belegt. Die vorgeschlagene Mindestversion für Claude Code benötigt eine separate Bestätigung.

Stand 2026-10-23:

KomponenteBestätigte Version mit KorrekturWas du aktualisieren musst
Node.js 22.x22.23.4Die ausführbare Node-Datei, die die jeweilige Anwendung oder das Tool verwendet
Node.js 24.x24.22.1Die ausführbare Node-Datei, die die jeweilige Anwendung oder das Tool verwendet
Node.js 26.x26.12.1Die ausführbare Node-Datei, die die jeweilige Anwendung oder das Tool verwendet
Offizielle Bun-Versionen1.4.4Die eigenständige Bun-Installation oder die Anwendung, die Bun einbettet
Claude CodeDie geprüften offiziellen Quellen belegen keine erste korrigierte VersionDen Client über seinen Installationsweg aktualisieren und buildspezifische Nachweise aufbewahren

Der Node.js-Sicherheitshinweis vom 21. Oktober nennt alle drei korrigierten Node-Versionen. Vergleiche Versionen innerhalb des jeweiligen Versionszweigs: Eine Node-24-Installation benötigt 24.22.1 oder eine spätere Version mit Korrektur, nicht lediglich eine Zahl oberhalb von 22.23.4. Node.js 20 erhält diese Korrektur nicht mehr; Vercel verweist diese Nutzer auf einen unterstützten Versionszweig.

Buns Korrektur lässt sich über eine allgemeine Sicherheitsankündigung hinaus nachvollziehen. Jarred Sumners übernommener Pull Request dokumentiert das Update auf Brotli 1.2.1, und die Abhängigkeitsdatei im Release-Tag von Bun 1.4.4 wählt diese korrigierte Brotli-Version aus. Die offizielle Version erschien am 22. Oktober.

Die konkrete Aussage zu Claude stammt aus dem Beitrag von @ryaneshea vom 22. Oktober: Der Autor berichtete, Bun 1.4.3 in Claude Code 2.1.296 gefunden zu haben, und empfahl 2.1.308 oder neuer. Das ist ein Bericht aus der Community, keine von Anthropic bestätigte Zuordnung dieser Versionen.

Anthropics Hinweis zu 2.1.308 nennt lediglich Fehlerbehebungen und Verbesserungen der Zuverlässigkeit. Das Änderungsprotokoll führt auch 2.1.309 auf, liefert aber nicht die fehlende Bestätigung, welche Bun-Version oder Brotli-Korrektur in 2.1.308 enthalten ist. Aktualisiere zeitnah und halte die Ergebnisse „Client aktualisiert“ und „Korrektur des eingebetteten Decoders bestätigt“ getrennt fest.

Aktualisiere die Claude-Code-Installation, die du tatsächlich nutzt

Ermittle vor dem Update die aktive Installation. Eine Kopie zu aktualisieren hilft nicht, wenn Terminal, Editor oder Runner weiterhin eine andere starten.

Führe in Bash Folgendes aus:

type -a claude
claude --version
claude doctor

type -a zeigt Shell-Aliase, Funktionen und passende Pfade zu ausführbaren Dateien. Die CLI-Referenz beschreibt claude doctor als Diagnose von Installation und Einstellungen, die keine Änderungen vornimmt und keine Sitzung startet.

Speichere deine Arbeit und beende bestehende Claude-Code-Sitzungen, bevor du deren ausführbare Datei ersetzt. Wähle anschließend den Update-Weg, der zu deiner Installation passt.

Native Installation

Führe in Bash Folgendes aus:

claude update

Der Updater beachtet autoUpdatesChannel und geltende Versionsbeschränkungen. Wenn er meldet, dass die Installation aktuell ist, kann das deshalb die neueste Version bedeuten, die deine Konfiguration zulässt.

Bei nativen Installationen unterscheiden die Einstellungen des Veröffentlichungskanals zwischen latest und dem verzögerten Kanal stable. Prüfe /config → Auto-update channel; die persönliche Einstellung liegt in ~/.claude/settings.json. Aktualisiere bei zentral verwalteten Bereitstellungen die ausgerollte Version und ihre Update-Richtlinie abgestimmt aufeinander.

Installation über npm

Aktualisiere eine von npm verwaltete Installation in Bash:

npm install -g @anthropic-ai/claude-code@latest

Für die aktuelle Installation über npm ist Node.js 22 oder neuer erforderlich; das Paket liefert dieselbe native Binärdatei wie der eigenständige Installer. Verwende eine korrigierte Node-Version aus der Tabelle oben. Die Dokumentation empfiehlt den ausdrücklichen Installationsbefehl statt npm update -g, weil letzterer das Paket in einem älteren Versionsbereich belassen kann.

Verwende bei Homebrew brew upgrade claude-code oder brew upgrade claude-code@latest, passend zum installierten Cask. Führe bei WinGet winget upgrade Anthropic.ClaudeCode in PowerShell aus. Für diese Installationswege gelten eigene Update-Regeln der Paketmanager.

Öffne nach dem jeweiligen Update ein neues Terminal. Prüfe in Bash:

hash -r
command -v claude
claude --version
claude doctor

Die Version muss der beabsichtigten Zielversion entsprechen, und der gefundene Befehl muss zur vorgesehenen Installation gehören. Falls command -v eine Funktion oder einen Alias identifiziert, prüfe anhand der vorherigen Ausgabe von type -a, welche Datei dieser Eintrag startet.

Starte Sitzungen im Editor und unbeaufsichtigte Sitzungen separat neu. Die Prüfung einer neu gestarteten Datei im Terminal belegt nicht, dass ein älterer laufender Prozess ersetzt wurde.

Wenn das Update scheitert oder die alte Version aktiv bleibt

Ordne dem beobachteten Symptom die passende Ursache und Korrektur zu. Anthropics Anleitung zur Behebung von Installationsproblemen behandelt konkurrierende Installationen, Update-Fehler und fehlende Binärdateien nach einer npm-Installation.

SymptomPrüfung und KorrekturErgebnis prüfen
Das Update wird abgeschlossen, aber claude --version zeigt weiterhin die alte VersionFinde mit type -a claude und which -a claude konkurrierende Installationen. Korrigiere das Startprogramm oder den PATH-Eintrag, der noch die alte Kopie auswählt.Öffne ein neues Terminal und prüfe erneut den gefundenen Befehl und seine Version.
Ein angepasstes Startprogramm unter ~/.local/bin/claude startet weiterhin eine alte VersionPrüfe sein Ziel. Der native Updater behält angepasste Startprogramme bei. Aktualisiere daher beim Ausrollen auch die vom Startprogramm ausgewählte Version.Prüfe die Version über dieses Startprogramm, nicht nur durch direkten Aufruf der neu heruntergeladenen Binärdatei.
Error: claude native binary not installed.Prüfe, ob npm optionale Abhängigkeiten ausgelassen oder das postinstall-Skript übersprungen hat. Stelle die erforderlichen Installationsschritte wieder her und installiere das Paket erneut.claude --version wird erfolgreich ausgeführt.
Auto-update failed · Run claude doctorFühre claude doctor aus und untersuche den gemeldeten Installations- oder Download-Fehler anhand des passenden Abschnitts der Anleitung.Starte den geeigneten Updater erneut und prüfe anschließend die Zielversion in einem neuen Prozess.

Wenn der Updater keine neuere zulässige Version meldet, prüfe den Veröffentlichungskanal und die zentral festgelegte Versionsobergrenze, bevor du die Arbeit als erledigt betrachtest. Eine erfolgreiche Installationsprüfung zeigt, dass das Programm startet; sie testet nicht die Brotli-Schwachstelle.

Kannst du die eingebettete Bun-Version von Claude Code prüfen?

Die dokumentierten Claude-Befehle zeigen die Anwendungsversion und den Zustand der Installation. Die geprüfte CLI-Dokumentation nennt keinen unterstützten Befehl zur Ausgabe der eingebetteten Bun-Version.

bun --version prüft eine separate ausführbare Bun-Datei in deinem PATH. Ebenso beschreibt die Versionsabfrage eines systemweiten Node-Prozesses diesen Node-Prozess. Keine dieser Messungen identifiziert die in Claude Code einkompilierte Laufzeitumgebung.

Bun dokumentiert BUN_BE_BUN=1 für eigenständige ausführbare Dateien. Diese Funktion ist jedoch nicht als Claude-Code-Diagnose dokumentiert, und kk-mats berichtet im Claude-Code-Issue #24575 von versionsabhängigem Verhalten. Setze sie nicht ungeprüft als verlässliches Sicherheitskriterium für Claude-Installationen ein.

Das veröffentlichte Manifest von Claude Code 2.1.308 enthält Angaben zu Version, Build, Plattformen und Prüfsummen, aber keine Versionsangabe für die Bun-Komponente. Anthropics Verfahren zur Prüfung des signierten Manifests kann belegen, dass eine Binärdatei der Veröffentlichung des Herstellers entspricht. Um den Patch-Status des Decoders nachzuweisen, brauchst du zusätzlich Angaben zu Komponenten oder enthaltenen Korrekturen, die genau diesem Artefakt zugeordnet sind.

Dokumentiere für die Sicherheitsprüfung im Team die Claude-Version, Plattform, Installationsquelle, aktive ausführbare Datei und Prüfsumme. Hole beim Hersteller eine Bestätigung für genau diese Version und Plattform ein, wenn die Korrektur der eingebetteten Laufzeit nachgewiesen werden muss. Halte bis dahin „Client aktualisiert; Patch-Status der eingebetteten Laufzeit nicht bestätigt“ fest und pausiere betroffene unbeaufsichtigte Abrufe nicht vertrauenswürdiger Inhalte, sofern deine Risikobewertung dies verlangt.

Entwicklerrechner, Container und CI-Runner prüfen

Führe die Bestandsaufnahme in jeder Ausführungsumgebung durch, in der tatsächlich Agentenaufgaben laufen. Das Ergebnis eines Entwicklerlaptops beschreibt weder einen Container noch das Benutzerkonto eines selbst gehosteten Runners oder einen unabhängig bereitgestellten MCP-Server.

Verwende diesen Bash-Block in einem bestehenden Job zur zentralen Rechnerverwaltung oder in einem CI-Schritt:

set -u
uname -srm
id -un

for tool in claude node bun; do
  if executable=$(type -P "$tool"); then
    printf '%s\t%s\t' "$tool" "$executable"
    "$executable" --version || exit 1
  else
    printf '%s\tNOT_FOUND\n' "$tool"
  fi
done

Die Ausgabe nennt Betriebssystem, ausführenden Benutzer und die für jedes Tool im PATH ausgewählte ausführbare Datei samt Version. NOT_FOUND ist ein Inventarergebnis: Eine native Claude-Installation benötigt keinen separaten Bun-Befehl.

Das Skript gibt ausdrücklich kein PASS als Sicherheitsfreigabe aus. Vergleiche die Ergebnisse für Node und separat installiertes Bun mit den bestätigten korrigierten Versionen und bewerte die Nachweise zum Claude-Artefakt getrennt. Mit type -P sucht Bash nach ausführbaren Dateien im PATH; Shell-Wrapper und explizit in der Konfiguration ausgewählte Dateien müssen gesondert geprüft werden.

Für den Rollout im Team:

  1. Prüfe die Laufzeitumgebung. Führe den Block als Dienstbenutzer im endgültigen Container oder in der Runner-Umgebung aus, nachdem der übliche PATH eingerichtet wurde. Prüfe die ausführbaren Dateien von MCP-Servern, Prozessen mit SDK und Editor-Integrationen separat.
  2. Aktualisiere die Build- oder Deployment-Konfiguration. Ersetze betroffene Node/Bun-Versionen und die Claude-Installation. Baue Images so neu, dass keine alte Installationsschicht aus dem Cache die bisherige ausführbare Datei beibehält.
  3. Ersetze laufende Workloads. Erstelle Container neu und starte Runner oder Dienste neu, die noch die alte Installation ausführen. Wiederhole die Bestandsaufnahme in einem neuen Workload und bewahre den Image-Digest zusammen mit den Ergebnissen auf.
  4. Prüfe einen normalen Arbeitsablauf. Bestätige, dass die aktualisierte Umgebung die benötigte Tool-Operation weiterhin ausführt. Dokumentiere dies als Kompatibilitätsprüfung, getrennt vom Nachweis der Decoder-Korrektur.

Für eine eigenständige Bun-Installation, die Bun selbst verwaltet, lautet der im Release dokumentierte Update-Befehl, ausgeführt in Bash:

bun upgrade
bun --version

Das aktualisiert diese Bun-Installation. Eine Anwendung, die Bun einbettet, benötigt ein aktualisiertes Artefakt der Anwendung selbst.

Auch bei eigenen API-Gateways musst du den Client aktualisieren

Eine eigene ANTHROPIC_BASE_URL ändert das API-Ziel, ersetzt aber nicht die lokale ausführbare Datei von Claude Code. Halte den Client auch dann aktuell, wenn Anfragen über dein Gateway funktionieren.

Das offizielle Änderungsprotokoll von Claude Code dokumentiert zwei separate Korrekturen für die Gateway-Kompatibilität:

  • 2.1.305: Behebt eine Regression aus 2.1.304, durch die jede Anfrage scheitern konnte, wenn Vertex, Bedrock oder ein anderer Endpunkt beziehungsweise ein Gateway die Werkzeugsuche ablehnte. Dazu gehören Konfigurationen, die ToolSearch verbieten oder aus --tools auslassen. Der Client versucht die Anfrage jetzt ohne diese Suche erneut.
  • 2.1.307: Unterbindet das Senden des Beta-Headers prompt-caching-scope über Gateways mit eigener ANTHROPIC_BASE_URL sowie bei Foundry, wo er keine Wirkung hat.

Wiederhole nach dem Update den kleinen Arbeitsablauf über das Gateway, der zuvor fehlgeschlagen ist. Scheitert er weiterhin, untersuche Antwort und Konfiguration des Endpunkts mit dem aktuellen Client; eine Aussage zur Brotli-Korrektur erklärt nicht jeden Gateway-Fehler. Eine erfolgreiche Gateway-Anfrage bestätigt umgekehrt die Kompatibilität dieses Arbeitsablaufs, während der Patch-Status der eingebetteten Laufzeit separat geprüft werden muss.

Bereit, Ihren LLM-Workflow zu optimieren?

Verbinden Sie Modelle über eine API, verwalten Sie Schlüssel und behalten Sie KI-Kosten im Blick.

Kostenlos starten