Rails Action Pack: Cache-Poisoning durch fehlenden Vary-Header bei Content Negotiation
Zusammenfassung
Action Pack setzt den Vary-Header für ausgehandelte Antworten nicht immer, beispielsweise wenn eine Anfrage keinen Accept-Header enthält oder eine XHR-Anfrage ist. Ein Shared Cache, der Vary berücksichtigt, kann solche Antworten speichern und anderen Clients ausliefern, die ein anderes Format anfordern, etwa HTML statt JSON, bis der Cache-Eintrag abläuft. Der Angreifer kann den Inhalt der Antwort nicht wählen, und das Problem betrifft nur Anwendungen, die ausgehandelte Antworten aus als öffentlich markierten Actions hinter einem solchen Cache ausliefern.
Betroffen
- Rails Action Pack 8.1.0 bis 8.1.4.0
- Rails Action Pack vor 8.0.5.2
Behoben in
- Rails 8.1.4.1
- Rails 8.0.5.2
Umgehung
- Falls kein Patch möglich ist, auf ausgehandelten Antworten in der Anwendung Vary: Accept, X-Requested-With setzen (zum Beispiel in einem after_action-Callback) oder ausgehandelte Antworten nicht als öffentlich markieren.
- Der Workaround ersetzt das Update nicht.
Ausnutzung
- Es ist nicht bekannt, dass die Schwachstelle aktiv ausgenutzt wird.
- Sie ist nicht im CISA-KEV-Katalog aufgeführt.
- Bei unserer Recherche wurde kein öffentlicher Proof of Concept gefunden; dies ist keine vollständige Prüfung.
Unsere Empfehlung
- Auf Rails 8.1.4.1 oder 8.0.5.2 aktualisieren. Rails 8.0 erhält nach dem 7. November 2026 keine Sicherheitsupdates mehr, daher ist ein Wechsel auf 8.1.4.1 zu planen.
- Prüfen, ob ein CDN, Reverse Proxy, Thruster oder Rack::Cache öffentliche Antworten der Rails-Anwendung cacht und Vary berücksichtigt.
- Den Workaround anwenden, falls nicht zeitnah gepatcht werden kann.
- Auf unerwartete HTML- oder JSON-Antworten aus dem Cache achten.
Öffentliche Exploits
In PoC-in-GitHub, Metasploit und Exploit-DB ist für diese CVE nichts verzeichnet.
Quellen der Recherche
- GitHub Security Advisory GHSA-r9jg-fmfx-2gv6 github.com
- Rails commit 7a955ca github.com
- Rails release v8.1.4.1 github.com
- Rails release v8.0.5.2 github.com
- Rails security release announcement rubyonrails.org
- OSV GHSA-r9jg-fmfx-2gv6 osv.dev
Recherchiert und auf Deutsch und Englisch aufbereitet von einer KI (Claude von Anthropic) auf Basis von NVD, CISA, EPSS und den genannten Quellen. Massgebend sind die Angaben des Herstellers. Recherche vom 11.11.2026 19:46.
Referenzen der NVD (5)
- https://github.com/rails/rails/commit/7a955ca36779938267c93902c47d1f55bab99b4b
- https://github.com/rails/rails/commit/b58c107abe9c1f10c1d6a4941402c60e4dc4742c
- https://github.com/rails/rails/releases/tag/v8.0.5.2
- https://github.com/rails/rails/releases/tag/v8.1.4.1
- https://github.com/rails/rails/security/advisories/GHSA-r9jg-fmfx-2gv6
Quellen
Der Tracker verbindet offizielle, frei nutzbare Datenquellen – laufend aktualisiert:
- NVD (NIST) – CVE, Bewertung (CVSS), betroffene Produkte
- CISA KEV – von der CISA bestätigt aktiv ausgenutzte Lücken
- CISA Vulnrichment – Einschätzung der CISA (SSVC) im offiziellen CVE-Eintrag
- FIRST EPSS – Wahrscheinlichkeit einer Ausnutzung
- Microsoft MSRC – Patch Tuesday: Lücken, Schweregrad, Updates
- PoC-in-GitHub – öffentliche Proof-of-Concept-Repositories
- Metasploit (Rapid7) – Module des Metasploit Framework
- Exploit-DB (OffSec) – Archiv öffentlicher Exploits (nur Verweise)
- Patch-Tage: offizielle Seiten der Hersteller (je Hersteller verlinkt) (Patch-Tage der Hersteller)
Dieses Angebot nutzt Daten der NVD-API, ist aber von der NVD weder unterstützt noch zertifiziert. EPSS-Daten © FIRST.org.
Betroffen? Wir helfen.
Wir prüfen, ob Ihre Systeme betroffen sind, spielen Updates ein und schliessen die Lücke – auf Wunsch auch laufend mit dem System Health Checker.
