La société Oligo Security a publié des informations concernant une vulnérabilité affectant Chrome, Firefox et Safari, permettant de contourner les restrictions d'accès aux services réseau disponibles uniquement sur le système local, en accédant à l'adresse IP 0.0.0.0. Les premières alertes concernant cette vulnérabilité ont été publiées il y a 18 ans, mais le problème n'a toujours pas été résolu.
La vulnérabilité, qui se manifeste uniquement sur Linux et macOS, est due au fait que l'adresse IP 0.0.0.0 sur ces plateformes redirige vers l'interface réseau locale (localhost), c'est-à-dire qu'envoyer une requête vers 0.0.0.0 est équivalent à faire une requête vers l'adresse 127.0.0.1. Les navigateurs modernes disposent de moyens pour contrer l'accès à 127.0.0.1 lors de l'interaction avec des sites externes, car cela pourrait être utilisé pour manipuler des services internes sur le système de l'utilisateur, accessibles uniquement par des applications locales.
Cette vulnérabilité permet de contourner l'interdiction d'accès à 127.0.0.1 et d'organiser une attaque sur des services internes en ouvrant une page externe contrôlée par l'attaquant dans le navigateur. En accédant par 0.0.0.0, les mécanismes CORS (Cross-Origin Resource Sharing) et PNA (Private Network Access) ne peuvent pas empêcher ce type d'attaque. Il est noté que le problème n'est pas aussi anodin qu'il n'y paraît et qu'il est déjà exploité par des criminels dans le cadre d'attaques réelles, exploitant des vulnérabilités critiques dans des applications serveur, auxquelles on peut accéder uniquement depuis le système local.


Par exemple, l'utilisation de 0.0.0.0 pour accéder à des services locaux a été constatée lors des attaques ShadowRay et Selenium Grid révélées en mars et juillet, qui ont été utilisées pour exécuter du code sur les systèmes des développeurs. Dans le cas de l'attaque ShadowRay, l'objectif était les systèmes des développeurs utilisant le framework AI Ray. La deuxième attaque visait à exploiter une vulnérabilité critique dans la plateforme Selenium Grid dans des configurations acceptant des requêtes uniquement depuis l'hôte local.
De plus, il est mentionné qu'il est possible d'utiliser cette méthode pour exploiter la vulnérabilité ShellTorch dans le serveur PyTorch TorchServe, utilisé sur les ordinateurs des développeurs d'applications AI. L'accès aux services réseau du hôte local peut également être utilisé pour scanner les ports réseau dans le but d'identifier indirectement l'utilisateur.
Les développeurs de Firefox ont préparé un changement de spécification pour l'appel Fetch, interdisant l'accès à 0.0.0.0, mais n'ont pas encore déterminé la date de début du blocage dans le navigateur. Dans Chrome, l'accès à 0.0.0.0 est prévu pour être bloqué dans la version Chrome 128, attendue la semaine prochaine. Dans Safari, le blocage de 0.0.0.0 devrait être mis en œuvre dans la version Safari 18.
Source : opennet.ru
