Projet

Général

Profil

Bug #79390

gestion du x-forwarded-for trop naïve

Ajouté par Thomas Noël il y a 10 mois. Mis à jour il y a 10 mois.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Version cible:
-
Début:
04 juillet 2023
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Non
Planning:
Non

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

Révision bc2fc251 (diff)
Ajouté par Thomas Noël il y a 10 mois

middleware: handle X-Real-IP in xforwardedfor (#79390)

Historique

#2

Mis à jour par Thomas Noël il y a 10 mois

  • Tracker changé de Support à Bug
#3

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 :

#4

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 :

#5

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.

#6

Mis à jour par Thomas Noël il y a 10 mois

  • Statut changé de En cours à Solution proposée
#7

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 :

#8

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 :

#9

Mis à jour par Transition automatique il y a 10 mois

  • Statut changé de Résolu (à déployer) à Solution déployée
#10

Mis à jour par Transition automatique il y a 8 mois

Automatic expiration

Formats disponibles : Atom PDF