Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2026-72815-poc — Lokaler Go-PoC, der CVE-2026-72815 demonstriert, eine X-Forwarded-For-IP-Spoofing-Schwachstelle in go-chi/chi middleware.RealIP, die IP-basierte ACLs umgeht, mit einem Vergleich zum Fix in v5.3.0. | Kitploit
Tools/GitHubGitHub/saku0512/cve-2026-72815-poc
DefensivwerkzeugeSchwachstellenanalyseCode-AnalyseExploitationWebsicherheitAuthentifizierungPapers & ForschungLernen & Bildung
GitHubsaku0512/cve-2026-72815-poc

CVE-2026-72815-poc

Lokaler Go-PoC, der CVE-2026-72815 demonstriert, eine X-Forwarded-For-IP-Spoofing-Schwachstelle in go-chi/chi middleware.RealIP, die IP-basierte ACLs umgeht, mit einem Vergleich zum Fix in v5.3.0.

Repository anzeigen
vor 22h 48mNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2026-72815: go-chi/chi middleware.RealIP IP-Spoofing-PoC

Englische Version

Übersicht

Dieses Repository ist ein lokaler Proof of Concept (PoC) für die IP-Spoofing-Schwachstelle CVE-2026-72815 (GHSA-3fxj-6jh8-hvhx) in middleware.RealIP von go-chi/chi.

Die verwundbare RealIP-Middleware vertraut bedingungslos dem ersten (linkesten) Wert von X-Forwarded-For und überschreibt damit http.Request.RemoteAddr. In Konfigurationen, in denen der Client X-Forwarded-For angeben kann, könnte ein Angreifer eine beliebige IP-Adresse als Quelle vortäuschen und so IP-basierte ACLs, Rate Limits, Audit-Logs usw. umgehen oder verfälschen.

Dieser PoC verwendet ausschließlich httptest und führt keine Kommunikation mit externen Hosts durch.

Haftungsausschluss

Verwenden Sie dies nur für Bildungszwecke und autorisierte Sicherheitsüberprüfungen. Verwenden Sie es nicht unbefugt gegen Umgebungen Dritter.

Details zur Schwachstelle

  • CVE-ID: CVE-2026-72815
  • GitHub Advisory: GHSA-3fxj-6jh8-hvhx
  • Produkt: github.com/go-chi/chi/v5
  • Verwundbare API: middleware.RealIP
  • Typ: Authentication Bypass by Spoofing (CWE-290)
  • CVSS v4.0: 6.9 (Moderate)
  • Betroffene Versionen laut CVE-Eintrag: >= 5.2.1, < 5.3.0
  • Behobene Version: 5.3.0

Grundursache

middleware.RealIP nimmt, wenn X-Forwarded-For vorhanden ist, den ersten durch Komma getrennten Wert und setzt ihn in RemoteAddr.

Konzeptionell handelt es sich um folgenden Vorgang:

root@kitploit:~
if xff := r.Header.Get("X-Forwarded-For"); xff != "" {
    ip, _, _ = strings.Cut(xff, ",")
}

r.RemoteAddr = ip

Normalerweise hängt ein Reverse Proxy die tatsächliche Quell-IP an das Ende des vorhandenen X-Forwarded-For an. Wenn ein Angreifer daher im Voraus einen Wert wie den folgenden angeben kann, ist der linkeste Wert nicht vertrauenswürdig.

root@kitploit:~
X-Forwarded-For: 127.0.0.1, 203.0.113.50

Die verwundbare RealIP übernimmt 127.0.0.1 als Client-IP.

PoC

Voraussetzungen

  • Go 1.23 oder höher (der vulnerable case von v5.2.1 allein benötigt Go 1.20 oder höher)
  • Netzwerkverbindung, die für den erstmaligen Modul-Download erforderlich ist

1. Reproduktion der verwundbaren Version v5.2.1

root@kitploit:~
cd vulnerable
GOWORK=off go run .

Der PoC geht davon aus, dass der tatsächliche Client 203.0.113.50 ist und die als Administrator zugelassene IP 127.0.0.1 ist.

Eine normale Anfrage führt zu HTTP 403, aber bei einer Anfrage mit dem folgenden Header schreibt RealIP RemoteAddr in 127.0.0.1 um, und die Antwort wird HTTP 200.

root@kitploit:~
X-Forwarded-For: 127.0.0.1, 203.0.113.50

Erwartete Hauptausgabe:

root@kitploit:~
=== CVE-2026-72815 vulnerable case ===
[*] go-chi/chi version: v5.2.1
[*] normal request status: 403
[*] spoofed request status: 200
[!] VULNERABLE: attacker-controlled X-Forwarded-For bypassed the IP ACL.

2. Bei Verwendung der sicheren API von v5.3.0

root@kitploit:~
cd fixed
GOWORK=off go run .

In v5.3.0 wurden als Alternativen zu RealIP ClientIPFromHeader, ClientIPFromXFF, ClientIPFromXFFTrustedProxies und ClientIPFromRemoteAddr hinzugefügt.

Der fixed case dieses PoC verwendet ClientIPFromXFF() unter der Annahme einer Konfiguration, in der „sich direkt vor dem Server ein vertrauenswürdiger Proxy befindet und dieser Proxy die tatsächliche Client-IP an das Ende des XFF anhängt“. Selbst wenn derselbe Spoofing-Header gesendet wird, wird der rechte Wert 203.0.113.50 übernommen, sodass die ACL nicht durchbrochen werden kann.

Erwartete Hauptausgabe:

root@kitploit:~
=== CVE-2026-72815 safe replacement case ===
[*] go-chi/chi version: v5.3.0
[*] normal request status: 403
[*] spoofed request status: 403
[+] SAFE: the spoofed leftmost X-Forwarded-For value did not bypass the IP ACL.

3. Beides zusammen überprüfen

root@kitploit:~
bash scripts/run-version-matrix.sh

Hinweise zu v5.3.0

Auch in v5.3.0 bleibt das Verhalten der alten middleware.RealIP selbst aus Gründen der Abwärtskompatibilität erhalten. RealIP wurde mit einem deprecated-Hinweis versehen, und die Migration zu den sicheren ClientIPFrom*-APIs wird empfohlen.

Daher sollte man nicht einfach nur die Dependency auf v5.3.0 aktualisieren und middleware.RealIP weiterverwenden, sondern zur ClientIPFrom*-Middleware migrieren, die zur tatsächlichen Netzwerk-/Reverse-Proxy-Konfiguration passt.

Umfang des PoC

Dieses Repository überprüft ausschließlich Folgendes.

  1. Dass middleware.RealIP den vom Angreifer kontrollierten linkesten XFF-Wert in RemoteAddr übernimmt
  2. Dass dadurch eine einfache IP-basierte ACL umgangen werden kann
  3. Dass bei Verwendung von ClientIPFromXFF() aus v5.3.0 in einer geeigneten Proxy-Konfiguration dieselbe Eingabe abgelehnt werden kann

Es werden keine Scans gegen echte Netzwerke, Anfragen an Dienste Dritter, DoS, Persistenz usw. durchgeführt.

Gegenmaßnahmen

  • go-chi/chi auf v5.3.0 oder höher aktualisieren
  • Von middleware.RealIP zur ClientIPFrom*-Middleware migrieren, die zur tatsächlichen Infrastruktur passt
  • Auch auf der Reverse-Proxy-Seite die vom Client gesendeten Forwarding-Header ordnungsgemäß überschreiben bzw. entfernen
  • IP-Adressen nicht als einzige Grundlage für wichtige Authentifizierung/Autorisierung verwenden

Referenzen

  • CVE-2026-72815
  • GHSA-3fxj-6jh8-hvhx
  • go-chi/chi PR #967: middleware.ClientIP
  • go-chi/chi v5.3.0
Tool herunterladen