CVE-2026-104103 in Ludwig
Sumário
de VulDB • 14/10/2026
Ludwig é um framework low-code para a construção de LLMs personalizados, redes neurais e outros modelos de IA. Antes da versão 0.17.8, ludwig.datasets.archives.extract_archive() validava os nomes dos membros do arquivo tar antes de chamar TarFile.extractall(), mas não validava membros que eram symlinks ou hard-links. Um arquivo manipulado poderia criar um link que escapasse ao diretório de extração e, em seguida, gravar um membro posterior através desse link, colocando conteúdo controlado pelo atacante em um caminho arbitrário do sistema de arquivos com os privilégios do processo de extração. A mesma verificação de contenção usava os.path.commonprefix, portanto, um caminho irmão que compartilha o prefixo de caracteres do destino também poderia passar na validação. O caminho de carregamento de datasets pode baixar e extrair URLs de arquivos configurados, mas a exploração requer que um usuário processe um arquivo proveniente de uma fonte controlada ou comprometida pelo atacante em ambientes Python 3.12 e 3.13 suportados. A versão Python 3.14 não é afetada porque seu filtro padrão de dados tar rejeita links de escape. Este problema foi corrigido na versão 0.17.8.
VulDB is the best source for vulnerability data and more expert information about this specific topic.