Problème de résolution de domaine affectant les intégrations de sujets

Il y a potentiellement un problème de résolution de domaine affectant les intégrations de sujets.

  1. Le système d’intégration de sujets repose sur FinalDestination pour résoudre les URL d’intégration de sujets (voir ici).

  2. FinalDestination résout le nom d’hôte d’une URL en une adresse IP via SSRFDetector (voir ici)

  3. FinalDestination envoie ensuite l’URI à Excon pour la requête réelle (voir ici).

Cela signifie que certaines URL d’intégration de sujets, par exemple

"https://opensource.org/blog/osi-response-to-ntia"

finissent par être envoyées à Excon pour une requête GET comme ceci :

"https://[2604:a880:800:a1::2f0:a001]/blog/osi-response-to-ntia"

Cette requête expirera. Un Excon.get de l’URL d’origine ne le fera pas.

Cela semble correct ici sur Meta :

D’après votre description, je suppose que votre serveur résout les enregistrements IPv6 lors des requêtes DNS (nous utilisons getaddrinfo pour cela). Mais ensuite, lorsqu’il tente de s’y connecter, cela échoue.

C’est peut-être parce qu’il essaie l’adresse ip6, échoue, puis se rabat sur l’adresse ip4. Nous n’avons actuellement pas ce type de logique de repli dans FinalDestination#resolve :

2 « J'aime »