Home » Nouvelles » Dans quelle mesure votre proxy est-il sécurisé ? Guide étape par étape pour exploiter la vulnérabilité Zero Day de Tinyproxy

Dans quelle mesure votre proxy est-il sécurisé ? Guide étape par étape pour exploiter la vulnérabilité Zero Day de Tinyproxy

by Nouvelles
Dans quelle mesure votre proxy est-il sécurisé ?  Guide étape par étape pour exploiter la vulnérabilité Zero Day de Tinyproxy

2024-05-06 23:46:06

Cisco Talos a signalé une faille de sécurité majeure, identifiée comme CVE-2023-49606, dans le logiciel Tinyproxy largement utilisé. Cette vulnérabilité, résultant d’une mauvaise gestion des en-têtes de connexion HTTP, expose les systèmes à une potentielle exécution de code à distance, ce qui pourrait permettre à des attaquants de prendre le contrôle des serveurs concernés.

APERÇU DE LA VULNÉRABILITÉ

Proxy HTTP minimaliste et open source, Tinyproxy est conçu pour la simplicité et l’efficacité, ce qui le rend populaire dans les environnements où des serveurs proxy légers sont requis. La vulnérabilité en question survient dans l’analyse des en-têtes de connexion HTTP, un composant critique destiné à spécifier quels en-têtes sont persistants lors d’une session HTTP.

Selon Le rapport de vulnérabilité Cisco Talos (TALOS-2023-1889), des versions spécifiques de Tinyproxy, à savoir 1.11.1 et 1.10.0, sont concernées. La faute existe dans le remove_connection_headersFonctionnalité Tinyproxy, où une erreur d’utilisation après libération peut se produire. Ce type d’erreur logicielle est particulièrement dangereux car il peut provoquer une corruption de la mémoire, offrant ainsi à l’attaquant un moyen d’exécuter du code arbitraire sur la machine hôte.

PANNE TECHNIQUE

Le problème survient lorsque Tinyproxy gère les en-têtes HTTP censés être supprimés conformément aux Connectiondirectives d’en-tête. Si un attaquant manipule les en-têtes Connectionou , peut entraîner la réutilisation de la mémoire précédemment libérée. Proxy-ConnectionCe scénario d’utilisation après libération est déclenché comme suit :

  • Tinyproxy parcourt les en-têtes spécifiés dans l’en-tête Connectiono Proxy-Connection.
  • Chaque en-tête spécifié est supprimé d’un magasin clé-valeur (hashofheaders) et sa mémoire est ensuite libérée.
  • Cependant, en raison d’une erreur dans la gestion de ces en-têtes, la mémoire libérée peut être réutilisée avant la fin de la fonction, provoquant une corruption de la mémoire.

Cette vulnérabilité est particulièrement préoccupante car elle peut être exploitée avec une simple requête HTTP mal formée, ce qui permet à un attaquant d’exploiter facilement et potentiellement de prendre le contrôle du système exécutant Tinyproxy.

EXPLOTABILITÉ ET IMPACT

Le score CVSSv3 de cette vulnérabilité est de 9,8 (critique), soulignant sa gravité. Un attaquant n’a pas besoin d’un accès authentifié au système cible, ce qui le rend accessible à toute entité malveillante pouvant envoyer des requêtes HTTP au proxy affecté. Les impacts potentiels incluent un accès non autorisé, des violations de données, une interruption de service et, dans les cas graves, une compromission complète du système.

Un problème d’utilisation après libération se produit lorsqu’une application continue d’utiliser une référence mémoire (pointeur) après avoir libéré la mémoire référencée par le pointeur. Cela peut entraîner un comportement imprévisible, notamment des pannes d’applications, une corruption des données et l’exécution de code arbitraire.

EXEMPLE D’EXPLOITATION POUR CVE-2023-49606

Mise en scène : Imaginez un scénario dans lequel un serveur exécute Tinyproxy version 1.11.1. Cette version est connue pour présenter une vulnérabilité d’utilisation après libération dans la manière dont elle traite les en-têtes de connexion HTTP.

Exploitation étape par étape :

  1. Requête HTTP initiale par l’attaquant :
    • L’attaquant crée une requête HTTP qui inclut Connectionen-têtes spécialement conçus. Le but est de manipuler ces en-têtes pour déclencher la condition d’utilisation après la publication.
    • Exemple de requête HTTP :
      • OBTENIR / HTTP/1.1
      • Hébergeur : vulnérabilité-proxy.com
      • Connexion : keep-alive, malwareHeader
      • malveillantEn-tête : freeThis
  2. Traitement de la demande :
    • Tinyproxy reçoit la demande et analyse les en-têtes. En fonction des spécifications, vous devez supprimer les en-têtes qui apparaissent dans le Connection en-tête après avoir traité la demande.
    • On l’appelle remove_connection_headersfonction pour gérer cette tâche.
  3. Activation de l’utilisation après la sortie :
    • Pendant le traitement, Tinyproxy supprime maliciousHeader et libère la mémoire qui lui est associée. Cependant, en raison d’une défaillance dans la gestion de la mémoire proxy, cette mémoire libérée pourrait être réaffectée à de nouvelles données tout en étant toujours référencée par le processus en cours.
    • Supposons que la mémoire libérée soit rapidement réaffectée et remplie de données contrôlées par l’attaquant via une autre partie de l’application (ou une autre requête traitée simultanément).
  4. Exploitation de la mémoire libérée :
    • L’attaquant s’attend à ce que Tinyproxy accède à nouveau à cette mémoire libérée (et désormais réaffectée) avant la fin de la fonction. Si cette mémoire contient désormais du code exécutable ou des données créées par l’attaquant, elle peut être exécutée ou mal utilisée par l’application.
    • Par exemple, si l’emplacement mémoire est utilisé pour stocker un pointeur de fonction, l’attaquant pourrait écraser ce pointeur par l’adresse de son code malveillant.
  5. Exécution de code arbitraire :
    • Lorsque Tinyproxy tente d’accéder à la mémoire « libérée » dans le cadre de ses opérations normales (par exemple, pour enregistrer des détails ou continuer le traitement des en-têtes), il exécute par inadvertance le code pointé par le pointeur écrasé.
    • Cela pourrait permettre à l’attaquant d’exécuter du code arbitraire sur le serveur exécutant Tinyproxy, lui donnant potentiellement un contrôle total sur le serveur.

Exemple d’impact malveillant :

  • L’attaquant pourrait installer des portes dérobées, divulguer des données sensibles, lancer d’autres attaques à partir du serveur compromis ou perturber les opérations du serveur.

ATTÉNUATION ET RÉPONSE

Depuis la dernière mise à jour de Cisco Talos, il n’y a pas eu de correctif officiel ni de version de maintenance de la part des responsables de Tinyproxy pour résoudre cette vulnérabilité. Il est conseillé aux organisations utilisant Tinyproxy de surveiller de près leurs systèmes pour détecter toute activité inhabituelle et de mettre en œuvre des mesures de sécurité supplémentaires jusqu’à ce qu’un correctif soit disponible. Cela peut inclure :

  • Implémentez des pare-feu d’application Web (WAF) pour filtrer les en-têtes HTTP malveillants.
  • Isolez le serveur proxy des réseaux internes critiques.
  • Mettez régulièrement à jour tous les logiciels vers les dernières versions lorsque cela est possible.

Pour les utilisateurs et administrateurs de Tinyproxy, il est essentiel de comprendre les mécanismes techniques de cette vulnérabilité et de rester vigilant dans la surveillance de votre trafic réseau. Il est recommandé de prendre des mesures immédiates pour atténuer les risques associés à cette vulnérabilité critique jusqu’à ce qu’un correctif permanent soit publié.




#Dans #quelle #mesure #votre #proxy #estil #sécurisé #Guide #étape #par #étape #pour #exploiter #vulnérabilité #Day #Tinyproxy
1715872255

You may also like

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.