Rails Action Pack: IP-Spoofing über Forwarded-Header in RemoteIp
Zusammenfassung
Action Pack in Rails 8.1.0 bis 8.1.4 mit Rack 3 übernimmt request.remote_ip aus dem vom Client gesendeten Forwarded-Header, wenn ein Reverse Proxy diesen Header unverändert weiterleitet. Ein nicht authentifizierter Angreifer kann dadurch die Client-Adresse fälschen, was IP-basierte Zugriffskontrollen und Rate Limits (einschliesslich des Standards by: von rate_limit) umgehen und Client-Adressen in Protokollen verfälschen kann. Der Angriff erfordert eine bestimmte Proxy-Konfiguration sowie Anwendungen, die request.remote_ip für Sicherheitsentscheidungen verwenden.
Betroffen
- Rails Action Pack 8.1.0 bis 8.1.4 (Advisory-Bereich >= 8.1, < 8.1.4.1)
- Nur Anwendungen mit Rack 3 (Rack 2.2 liest nur X-Forwarded-For)
- Nur Anwendungen hinter einem Proxy, der einen vom Client gesendeten Forwarded-Header nicht entfernt oder überschreibt
Behoben in
- Upgrade auf Rails 8.1.4.1 (Action Pack 8.1.4.1)
Umgehung
- Den Reverse Proxy so konfigurieren, dass ein vom Client gesendeter Forwarded-Header entfernt oder überschrieben wird.
- Falls der Proxy X-Forwarded-For setzt, in einer Initializer-Datei Rack::Request.forwarded_priority = [:x_forwarded] setzen.
- Ohne X-Forwarded-For reicht das Upgrade allein nicht aus; die Proxy-Konfiguration muss angepasst werden.
Ausnutzung
- Nicht als in freier Wildbahn ausgenutzt bekannt.
- Nicht in der CISA-KEV-Liste aufgeführt.
- Im durchgeführten Research wurde kein öffentlicher Proof-of-Concept gefunden; das Fehlen eines PoC bedeutet nicht, dass keiner existiert.
Unsere Empfehlung
- Rails-8.1.x-Anwendungen mit Rack 3 identifizieren (Gemfile.lock prüfen).
- Das Upgrade auf 8.1.4.1 zuerst in einer Testumgebung prüfen; der Fix kann IpSpoofAttackError (HTTP 500) auslösen, wenn die Header unterschiedliche Clients angeben.
- Prüfen, ob der Reverse Proxy vom Client gesendete Forwarded-Header entfernt oder überschreibt.
- Zugriffskontrollen, Rate Limiting und Audit-Logik, die auf request.remote_ip beruhen, überprüfen.
- Beachten, dass dasselbe Release ein gravierenderes Active-Storage-Problem (GHSA-f3w6-w445-fwh9) behebt; Rails-8.1-Anwendungen entsprechend patchen.
Öffentliche Exploits
In PoC-in-GitHub, Metasploit und Exploit-DB ist für diese CVE nichts verzeichnet.
Quellen der Recherche
- GitHub Security Advisory GHSA-2gff-2mmg-m73p github.com
- Fix commit 2a01a5a github.com
- Rails 8.1.4.1 release github.com
- Rails security release announcement rubyonrails.org
- OSV GHSA-2gff-2mmg-m73p osv.dev
- ActionDispatch::RemoteIp API documentation api.rubyonrails.org
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 06:16.
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.
