ChatterBot: Vulnerabilidade de Symlink no UbuntuCorpusTrainer.extract()
O método UbuntuCorpusTrainer.extract() usa um diretório de saída previsível (~/ubuntu_data/ubuntu_dialogs) com um padrão de verificar-depois-criar que segue sym
O que mudou
O método UbuntuCorpusTrainer.extract() usa um diretório de saída previsível (~/ubuntu_data/ubuntu_dialogs) com um padrão de verificar-depois-criar que segue symlinks, permitindo que um atacante local pré-plante um symlink e redirecione a extração do arquivo para um diretório arbitrário.
Quem isso afeta
Usuários do ChatterBot que chamam UbuntuCorpusTrainer.extract() em um sistema onde um atacante local pode criar symlinks no diretório home.
O que fazer hoje
Aplique a correção sugerida: adicione uma verificação de os.path.islink(self.data_path) antes da extração, ou garanta manualmente que o diretório de saída não seja um symlink.