Une vulnérabilité de sécurité Python non corrigée assez ancienne a refait surface, obligeant les chercheurs à avertir que des centaines de milliers de projets pourraient être vulnérables à l’exécution de code.
Les chercheurs en cybersécurité de Trellix ont récemment repéré (s’ouvre dans un nouvel onglet) CVE-2007-4559, une faille dans le package Python tarfile, découverte pour la première fois en 2007.
Cependant, à l’époque, la faille n’a jamais reçu de correctif, mais plutôt un avertissement publié dans un bulletin de sécurité.
Identifier les projets vulnérables
La vulnérabilité se trouve dans le code qui utilise la fonction tarfile.extract() non nettoyée ou les valeurs par défaut intégrées de tarfileextractall(). « C’est un bogue de traversée de chemin qui permet à un attaquant d’écraser des fichiers arbitraires », écrit la publication.
Maintenant, disent les chercheurs, la faille donne à un mauvais acteur l’accès au système de fichiers. Le traqueur de bogues de Python a été mis à jour avec l’annonce d’un problème résolu, avec un ajout supplémentaire indiquant qu' »il pourrait être dangereux d’extraire des archives de sources non fiables ». La faille est abusable à la fois sur Windows et sur Linux, a-t-on dit.
Quinze ans, c’est long et apparemment, quelque 350 000 projets pourraient être vulnérables. Les chercheurs de Trellix ont d’abord pris un échantillon de 257 référentiels (61%) vulnérables. Une analyse automatisée est revenue avec un taux positif de 65 %.
Ensuite, avec GitHub, les chercheurs de Trellix ont trouvé 588 840 référentiels uniques qui incluent « import tarfile » dans son code Python, ce qui les a amenés à la conclusion que 350 000 (soit environ 61%) pourraient être vulnérables.
Le problème est présent dans un « grand nombre » d’industries, ont en outre découvert les chercheurs. Le développement (s’ouvre dans un nouvel onglet) Le secteur est, sans surprise, le plus impacté, suivi du web et des technologies d’apprentissage automatique.
Les chercheurs de Trellix ont publié des correctifs pour quelque 11 000 projets, disponibles en tant que fork du référentiel concerné. Ces correctifs seront ajoutés au projet principal via une demande d’extraction à une date ultérieure, a-t-il été ajouté. 70 000 autres projets devraient recevoir leurs correctifs d’ici quelques semaines, mais pour que tous soient corrigés, cela prendra un peu de temps.