Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-72815-poc — PoC Go local démontrant CVE-2026-72815, une faille d'usurpation d'IP via X-Forwarded-For dans le middleware RealIP de go-chi/chi qui contourne les ACL basées sur l'IP, avec une comparaison corrigée en v5.3.0. | Kitploit
Outils/GitHubGitHub/saku0512/cve-2026-72815-poc
Outils DéfensifsAnalyse des VulnérabilitésAnalyse de CodeExploitationSécurité WebAuthentificationArticles et RechercheApprentissage et Éducation
GitHubsaku0512/cve-2026-72815-poc

CVE-2026-72815-poc

PoC Go local démontrant CVE-2026-72815, une faille d'usurpation d'IP via X-Forwarded-For dans le middleware RealIP de go-chi/chi qui contourne les ACL basées sur l'IP, avec une comparaison corrigée en v5.3.0.

Voir le dépôt
il y a 22h 55mPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2026-72815 : PoC d'usurpation d'IP via middleware.RealIP de go-chi/chi

Version anglaise

Aperçu

Ce dépôt est une preuve de concept (PoC) locale de la vulnérabilité d'usurpation d'IP CVE-2026-72815 (GHSA-3fxj-6jh8-hvhx) présente dans middleware.RealIP de go-chi/chi.

Le middleware RealIP vulnérable fait confiance inconditionnellement à la première valeur (la plus à gauche) de X-Forwarded-For et écrase http.Request.RemoteAddr avec cette valeur. Dans une configuration où le client peut spécifier X-Forwarded-For, un attaquant peut usurper une adresse IP arbitraire comme source, ce qui peut permettre de contourner ou de polluer les ACL basées sur l'IP, les limites de débit, les journaux d'audit, etc.

Cette PoC utilise uniquement httptest et n'effectue aucune communication vers des hôtes externes.

Avertissement

À utiliser uniquement à des fins éducatives et pour des vérifications de sécurité autorisées. Ne l'utilisez pas sans autorisation contre des environnements tiers.

Détails de la vulnérabilité

  • ID CVE : CVE-2026-72815
  • Avis GitHub : GHSA-3fxj-6jh8-hvhx
  • Produit : github.com/go-chi/chi/v5
  • API vulnérable : middleware.RealIP
  • Type : Contournement d'authentification par usurpation (CWE-290)
  • CVSS v4.0 : 6.9 (Modéré)
  • Versions affectées selon l'enregistrement CVE : >= 5.2.1, < 5.3.0
  • Version corrigée : 5.3.0

Cause racine

Lorsque X-Forwarded-For est présent, middleware.RealIP récupère la première valeur séparée par des virgules et la définit dans RemoteAddr.

Conceptuellement, le traitement est le suivant.

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

r.RemoteAddr = ip

Normalement, un reverse proxy ajoute l'IP source réelle à la fin du X-Forwarded-For existant. Par conséquent, si un attaquant peut spécifier au préalable une valeur comme la suivante, la valeur la plus à gauche n'est pas fiable.

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

Le RealIP vulnérable adopte 127.0.0.1 comme IP du client.

PoC

Prérequis

  • Go 1.23 ou supérieur (le cas vulnérable seul de v5.2.1 nécessite Go 1.20 ou supérieur)
  • Une connexion réseau nécessaire au premier téléchargement des modules

1. Reproduction de la version vulnérable v5.2.1

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

La PoC suppose que le client réel est 203.0.113.50 et que l'IP autorisée en tant qu'administrateur est 127.0.0.1.

Une requête normale renvoie HTTP 403, mais une requête avec l'en-tête suivant voit RealIP réécrire RemoteAddr en 127.0.0.1, ce qui donne HTTP 200.

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

Sortie principale attendue :

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. Cas d'utilisation de l'API sûre de v5.3.0

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

Dans v5.3.0, ClientIPFromHeader, ClientIPFromXFF, ClientIPFromXFFTrustedProxies et ClientIPFromRemoteAddr ont été ajoutés comme alternatives à RealIP.

Le cas corrigé de cette PoC utilise ClientIPFromXFF() en supposant une configuration où « un proxy de confiance se trouve juste devant le serveur et ce proxy ajoute l'IP réelle du client à la fin du XFF ». Même si le même en-tête usurpé est envoyé, c'est le 203.0.113.50 à l'extrémité droite qui est adopté, ce qui empêche de franchir l'ACL.

Sortie principale attendue :

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. Vérification des deux cas ensemble

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

Remarques concernant v5.3.0

Dans v5.3.0 également, le comportement de l'ancien middleware.RealIP est conservé tel quel pour des raisons de compatibilité ascendante. Une note de dépréciation a été ajoutée à RealIP, et la migration vers les API sûres ClientIPFrom* est recommandée.

Par conséquent, il ne suffit pas de simplement mettre à jour la dépendance vers v5.3.0 en continuant à utiliser middleware.RealIP ; il est nécessaire de migrer vers le middleware ClientIPFrom* adapté à la configuration réseau / reverse proxy réelle.

Portée de la PoC

Ce dépôt vérifie uniquement les points suivants.

  1. Que middleware.RealIP reflète dans RemoteAddr la valeur XFF la plus à gauche contrôlée par l'attaquant
  2. Qu'en conséquence, une simple ACL basée sur l'IP peut être contournée
  3. Qu'en utilisant ClientIPFromXFF() de v5.3.0 avec une configuration proxy appropriée, la même entrée peut être rejetée

Aucun scan de réseau réel, requête vers des services tiers, DoS, persistance, etc. n'est effectué.

Contre-mesures

  • Mettre à jour go-chi/chi vers v5.3.0 ou supérieur
  • Migrer de middleware.RealIP vers le middleware ClientIPFrom* adapté à l'infrastructure réelle
  • Côté reverse proxy également, écraser ou supprimer de manière appropriée les en-têtes de forwarding envoyés par le client
  • Ne pas fonder l'authentification et l'autorisation critiques uniquement sur l'adresse IP

Références

  • CVE-2026-72815
  • GHSA-3fxj-6jh8-hvhx
  • go-chi/chi PR #967: middleware.ClientIP
  • go-chi/chi v5.3.0
Télécharger l’outil