Une faille dans la fonctionnalité de mise à niveau système assistée d’OpenWRT utilisée pour créer des images de micrologiciel personnalisées à la demande aurait pu permettre la distribution de packages de micrologiciels malveillants.

OpenWRT est un système d’exploitation Linux open source hautement personnalisable conçu pour les périphériques embarqués, en particulier les périphériques réseau tels que les routeurs, les points d’accès et autres matériels IoT. Le projet est une alternative populaire au micrologiciel d’un fabricant car il offre de nombreuses fonctionnalités avancées et prend en charge les routeurs d’ASUS, Belkin, Buffalo, D-Link, Zyxel et bien d’autres.

La faille d’injection de commandes et de troncature de hachage a été découverte par le chercheur en sécurité Flatt « RyotaK » lors d’une mise à niveau de routine du routeur home lab.

La faille critique (score CVSS v4: 9,3), identifiée comme CVE-2024-54143, a été corrigée quelques heures après avoir été divulguée aux développeurs d’OpenWRT. Cependant, les utilisateurs sont invités à effectuer des vérifications pour s’assurer de la sécurité de leur micrologiciel installé.

Empoisonnement des images OpenWRT
OpenWRT inclut un service appelé Attended Sysupgrade qui permet aux utilisateurs de créer des versions de micrologiciels personnalisées à la demande qui incluent des packages et des paramètres précédemment installés.

« La fonction de mise à niveau assistée (ASU) permet à un périphérique OpenWRT de se mettre à jour vers un nouveau micrologiciel tout en préservant les packages et les paramètres. Cela simplifie considérablement le processus de mise à niveau: quelques clics et une courte attente vous permettent de récupérer et d’installer une nouvelle image créée avec tous vos packages précédents », explique une page de support OpenWRT.

« ASU élimine le besoin de faire une liste des paquets que vous avez installés manuellement, ou de vous embêter avec opkg juste pour mettre à niveau votre micrologiciel. »

RyotaK a découvert que le sysupgrade.openwrt.org le service traite ces entrées via des commandes exécutées dans un environnement conteneurisé.

Une faille dans le mécanisme de gestion des entrées provenant de l’utilisation non sécurisée de la commande ‘make’ dans le code serveur permet l’injection arbitraire de commandes via les noms de paquets.

Un deuxième problème découvert par RyotaK était que le service utilise un hachage SHA-256 tronqué de 12 caractères pour mettre en cache les artefacts de construction, limitant le hachage à seulement 48 bits.

Le chercheur explique que cela rend les collisions par forçage brut possibles, permettant à un attaquant de créer une requête qui réutilise une clé de cache trouvée dans des versions légitimes de micrologiciels.

En combinant les deux problèmes et en utilisant l’outil Hashcat sur une carte graphique RTX 4090, RyotaK a démontré qu’il était possible de modifier les artefacts du micrologiciel pour fournir des versions malveillantes à des utilisateurs sans méfiance.

Script Python utilisé pour écraser les versions légitimes du micrologiciel

Vérifiez vos routeurs
L’équipe OpenWRT a immédiatement répondu au rapport privé de RyotaK, supprimant le sysupgrade.openwrt.org service, application d’un correctif et remise en service dans les 3 heures le 4 décembre 2024.

L’équipe dit qu’il est hautement improbable que quiconque ait exploité CVE-2024-54143, et ils n’ont trouvé aucune preuve que cette vulnérabilité ait eu un impact sur les images de downloads.openwrt.org.

Cependant, comme ils n’ont de visibilité que sur ce qui s’est passé au cours des 7 derniers jours, il est suggéré aux utilisateurs d’installer une image nouvellement générée pour remplacer toutes les images potentiellement non sécurisées actuellement chargées sur leurs appareils.

« Les journaux de construction disponibles pour d’autres images personnalisées ont été vérifiés et AUCUNE DEMANDE MALVEILLANTE N’a ÉTÉ TROUVÉE, mais en raison des nettoyages automatiques, aucune version de plus de 7 jours n’a pu être vérifiée. Le serveur affecté est réinitialisé et réinitialisé à partir de zéro », explique OpenWRT.

« Bien que la possibilité d’images compromises soit proche de 0, il est suggéré à l’utilisateur d’effectuer une MISE À NIVEAU sur PLACE vers la même version pour ÉLIMINER toute possibilité d’être affecté par cela. Si vous exécutez une instance publique auto-hébergée d’ASU, veuillez la mettre à jour immédiatement. »

Ce problème existe depuis un certain temps, il n’y a donc pas de dates limites, et tout le monde devrait prendre les mesures recommandées par excès de prudence.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *