Bug #79390
gestion du x-forwarded-for trop naïve
0%
Description
notre hobo/middleware/xforwardedfor.py est trop naïf :
def process_request(self, request): if getattr(settings, 'USE_X_FORWARDED_FOR', False): if 'x-forwarded-for' in request.headers: ip = request.headers.get('X-Forwarded-For', '').split(",")[0].strip() if ip: request.META['REMOTE_ADDR'] = ip return None
en prenant la première IP sans vérifier que la chaine de proxy n'est pas "trop longue", et boum. Il faudrait faire quelque chose du genre https://github.com/ferrix/xff/blob/master/xff/middleware.py (mais c'est vraiment pas marrant)
En approche de base, je propose de partir sur une confiance dans X_REAL_IP qui, si elle existe, semble être mieux gérée.
Révisions associées
Historique
Mis à jour par Robot Gitea il y a 10 mois
- Statut changé de Nouveau à Solution proposée
Thomas NOËL (tnoel) a ouvert une pull request sur Gitea concernant cette demande :
- URL : https://git.entrouvert.org/entrouvert/hobo/pulls/48
- Titre : middleware: handle X-Real-IP in xforwardedfor (#79390)
- Modifications : https://git.entrouvert.org/entrouvert/hobo/pulls/48/files
Mis à jour par Robot Gitea il y a 10 mois
- Statut changé de Solution proposée à Solution validée
Frédéric Péters (fpeters) a approuvé une pull request sur Gitea concernant cette demande :
Mis à jour par Robot Gitea il y a 10 mois
- Statut changé de Solution validée à En cours
Thomas NOËL (tnoel) a fermé une pull request sur Gitea concernant cette demande.
Mis à jour par Robot Gitea il y a 10 mois
- Statut changé de Solution proposée à Solution validée
Frédéric Péters (fpeters) a approuvé une pull request sur Gitea concernant cette demande :
Mis à jour par Robot Gitea il y a 10 mois
- Statut changé de Solution validée à Résolu (à déployer)
Thomas NOËL (tnoel) a mergé une pull request sur Gitea concernant cette demande :
- URL : https://git.entrouvert.org/entrouvert/hobo/pulls/48
- Titre : middleware: handle X-Real-IP in xforwardedfor (#79390)
- Modifications : https://git.entrouvert.org/entrouvert/hobo/pulls/48/files
Mis à jour par Transition automatique il y a 10 mois
- Statut changé de Résolu (à déployer) à Solution déployée
middleware: handle X-Real-IP in xforwardedfor (#79390)