Plus de 350 000 référentiels de code source ouvert peuvent être compromis car ils incluent un module Python contenant une vulnérabilité non corrigée vieille de 15 ans.
C’est la découverte des chercheurs de Trellix, qui ont déclaré que la vulnérabilité CVE-2007-4559 se trouve dans le module tarfile de Python, qui ne vérifie pas correctement les vulnérabilités de traversée de chemin. Un développeur pourrait par inadvertance inclure la vulnérabilité dans son propre code, disent les chercheurs – et, suggèrent-ils, les développeurs le font depuis des années.
« Aujourd’hui, laissée sans contrôle, cette vulnérabilité a été involontairement ajoutée à des centaines de milliers de projets au code source ouvert ou non dans le monde, créant une surface d’attaque substantielle de la chaîne d’approvisionnement logicielle », ont déclaré les chercheurs mercredi dernier dans un blog.
La vulnérabilité oubliée depuis longtemps a été découverte alors que les chercheurs enquêtaient sur une vulnérabilité non liée. Alors que la vulnérabilité n’était initialement marquée que comme une gravité de 6,8, les chercheurs ont pu confirmer que dans la plupart des cas, un attaquant peut obtenir l’exécution de code à partir d’une écriture de fichier arbitraire. Pour une compréhension technique détaillée de la CVE et des conséquences techniques d’une attaque, consultez cet article de blog (en anglais).
Avec la coopération de GitHub, les chercheurs ont pu déterminer qu’il y avait environ 2,87 millions de fichiers de code source ouvert contenant le module tarfile de Python dans environ 588 000 référentiels uniques. Parmi ceux-ci, environ 350 000 référentiels ouverts uniques dans un grand nombre d’industries seront vulnérables aux attaques.
L’article de blog note que la documentation Python avertit les développeurs du problème du fichier tar, les exhortant à ne jamais extraire d’archives de sources non fiables sans inspection préalable.
Trellix a créé des outils automatisés pour commencer à publier des correctifs pour le code source ouvert qu’il voit dans GitHub et d’autres sites Web de code. Jusqu’à présent, il a des correctifs pour 11 005 référentiels, prêts pour les demandes d’extraction. Chaque correctif sera ajouté à un dépôt dérivé et une demande d’extraction sera effectuée au fil du temps. Cela aidera les individus et les organisations à prendre conscience du problème et leur donnera une solution en un clic, explique Trellix.
Au cours des prochaines semaines, un peu plus de 12 %, soit environ 70 000 projets, pourraient être corrigés si toutes les demandes d’extraction sont acceptées par les responsables des projets.
« La vraie solution est de s’attaquer à la racine du problème », affirme Charles McFarland, chercheur chez Trellix. « C’est-à-dire des évaluations de sécurité diligentes du code source ouvert et des correctifs en temps opportun. Nous devons nous assurer que nous faisons preuve de diligence raisonnable pour auditer les logiciels à code source ouverts et ne pas laisser de code vulnérable dans la nature pour être exploité. Si cette vulnérabilité de fichier tar est un indicateur, nous sommes terriblement en retard et devons redoubler d’efforts pour garantir la sécurité des logiciels ouverts.
Adaptation et traduction française par Renaud Larue-Langlois.