Avant la version 0.17.8, Ludwig pouvait extraire une archive tar contenant des liens symboliques ou physiques qui échappaient au répertoire de destination, puis écrire des fichiers à des emplacements arbitraires avec les privilèges du processus. Le défaut concerne les environnements Python 3.12 et 3.13 selon les informations fournies; Python 3.14 n’est pas affecté, et la version 0.17.8 corrige le problème.
Source : NVD — CVE-2026-104103
Analyse technique
`ludwig.datasets.archives.extract_archive()` ne vérifiait pas les liens symboliques et physiques avant `TarFile.extractall()`; son contrôle de confinement utilisait également `os.path.commonprefix`, qui peut accepter un chemin frère partageant le même préfixe textuel. Le traitement d’une archive contrôlée ou compromise par l’attaquant est nécessaire.
Impact, versions et correctif
Action recommandée
Mettre à niveau Ludwig vers 0.17.8 ou ultérieur et éviter de traiter des archives provenant de sources non fiables avec les versions concernées.
Sources
Priorisation DFS : P3 · 1 source(s).