Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-72815-poc — PoC Go locale che dimostra CVE-2026-72815, una vulnerabilità di spoofing IP tramite X-Forwarded-For nel middleware RealIP di go-chi/chi che aggira le ACL basate su IP, con un confronto con la versione corretta v5.3.0. | Kitploit
Strumenti/GitHubGitHub/saku0512/cve-2026-72815-poc
Strumenti DifensiviAnalisi delle VulnerabilitàAnalisi del CodiceExploitSicurezza WebAutenticazionePaper e RicercaApprendimento e Formazione

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
GitHub
saku0512/cve-2026-72815-poc

CVE-2026-72815-poc

PoC Go locale che dimostra CVE-2026-72815, una vulnerabilità di spoofing IP tramite X-Forwarded-For nel middleware RealIP di go-chi/chi che aggira le ACL basate su IP, con un confronto con la versione corretta v5.3.0.

Vedi Repository
1 giorno faNon ancora revisionato
Condividi

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

Versione inglese

Panoramica

Questo repository è un Proof of Concept (PoC) locale per la vulnerabilità di IP spoofing CVE-2026-72815 (GHSA-3fxj-6jh8-hvhx) presente in middleware.RealIP di go-chi/chi.

Il middleware RealIP vulnerabile si fida incondizionatamente del primo valore (più a sinistra) di X-Forwarded-For e sovrascrive http.Request.RemoteAddr con quel valore. In configurazioni in cui il client può specificare X-Forwarded-For, un attaccante potrebbe falsificare un indirizzo IP arbitrario come sorgente, aggirando o inquinando ACL basate su IP, rate limit, log di audit, ecc.

Questo PoC utilizza esclusivamente e non effettua comunicazioni verso host esterni.

httptest

Disclaimer

Utilizzare esclusivamente per scopi educativi e per verifiche di sicurezza autorizzate. Non utilizzare senza autorizzazione su ambienti di terze parti.

Dettagli della vulnerabilità

  • CVE ID: CVE-2026-72815
  • GitHub Advisory: GHSA-3fxj-6jh8-hvhx
  • Prodotto: github.com/go-chi/chi/v5
  • API vulnerabile: middleware.RealIP
  • Tipo: Authentication Bypass by Spoofing (CWE-290)
  • CVSS v4.0: 6.9 (Moderate)
  • Versioni interessate secondo il record CVE: >= 5.2.1, < 5.3.0
  • Versione corretta: 5.3.0

Causa principale

middleware.RealIP, quando X-Forwarded-For è presente, prende il primo valore separato da virgola e lo imposta in RemoteAddr.

Concettualmente il processo è il seguente.

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

r.RemoteAddr = ip

Normalmente un reverse proxy aggiunge l'IP sorgente reale in coda all'X-Forwarded-For esistente. Pertanto, se un attaccante può specificare in anticipo un valore come il seguente, il valore più a sinistra non è affidabile.

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

Il RealIP vulnerabile adotta 127.0.0.1 come IP del client.

PoC

Requisiti

  • Go 1.23 o superiore (per il solo caso vulnerabile di v5.2.1 è sufficiente Go 1.20 o superiore)
  • Connessione di rete necessaria per il download iniziale dei moduli

1. Riproduzione della versione vulnerabile v5.2.1

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

Il PoC presuppone che il client reale sia 203.0.113.50 e che l'IP consentito come amministratore sia 127.0.0.1.

Una richiesta normale restituisce HTTP 403, ma una richiesta con il seguente header fa sì che RealIP riscriva RemoteAddr in 127.0.0.1, restituendo HTTP 200.

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

Output principale atteso:

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. Utilizzo dell'API sicura di v5.3.0

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

In v5.3.0 sono state aggiunte, come alternative a RealIP, le funzioni ClientIPFromHeader, ClientIPFromXFF, ClientIPFromXFFTrustedProxies e ClientIPFromRemoteAddr.

Il caso fixed di questo PoC presuppone una configurazione in cui "esiste un singolo proxy fidato immediatamente davanti al server, e tale proxy aggiunge l'IP reale del client in coda all'XFF", e utilizza ClientIPFromXFF(). Anche inviando lo stesso header falsificato, viene adottato il valore più a destra 203.0.113.50, quindi non è possibile aggirare l'ACL.

Output principale atteso:

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. Verifica di entrambi insieme

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

Note su v5.3.0

Anche in v5.3.0, per retrocompatibilità, il comportamento del vecchio middleware.RealIP stesso rimane invariato. A RealIP è stata aggiunta un'annotazione di deprecazione, e viene raccomandata la migrazione verso le API sicure ClientIPFrom*.

Pertanto, non è sufficiente aggiornare semplicemente la dipendenza a v5.3.0 continuando a usare middleware.RealIP; è necessario migrare verso il middleware ClientIPFrom* adatto alla configurazione di rete / reverse proxy effettiva.

Ambito del PoC

Questo repository verifica esclusivamente quanto segue.

  1. Che middleware.RealIP rifletta in RemoteAddr il valore XFF più a sinistra controllato dall'attaccante
  2. Che di conseguenza sia possibile aggirare una semplice ACL basata su IP
  3. Che utilizzando ClientIPFromXFF() di v5.3.0 con una configurazione proxy appropriata sia possibile rifiutare lo stesso input

Non vengono eseguite scansioni su reti reali, richieste verso servizi di terze parti, DoS, persistenza o simili.

Contromisure

  • Aggiornare go-chi/chi a v5.3.0 o superiore
  • Migrare da middleware.RealIP verso il middleware ClientIPFrom* adatto all'infrastruttura effettiva
  • Anche sul lato reverse proxy, sovrascrivere o rimuovere in modo appropriato gli header di forwarding inviati dal client
  • Non basare l'autenticazione o l'autorizzazione critica esclusivamente sull'indirizzo IP

Riferimenti

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