
Uma Prova de Conceito para CVE-2019-14751
Uma Prova de Conceito para CVE-2019-14751
O NLTK Downloader anterior à versão 3.5 é vulnerável a uma travessia de diretórios, permitindo que atacantes gravem arquivos arbitrários por meio de um ../ (dot dot slash) em um pacote NLTK (arquivo ZIP) que é mal processado durante a extração.
Para mais informações, consulte https://salvatoresecurity.com/zip-slip-in-nltk-cve-2019-14751/.
Coloque o index.xml e o zip-slip.zip em um diretório onde eles serão servidos por um servidor web. Ajuste as permissões para permitir que os arquivos sejam servidos.
Execute o NLTK Downloader
$> python3
>>> import nltk
>>> nltk.download()
Altere o valor no campo "Server Index" para apontar para o index.xml do passo 1
Clique em "Download" para instalar o pacote malicioso
Verifique a existência de "/tmp/evil.txt".
$> cat /tmp/evil.txt
This is an evil file
$>
Esta vulnerabilidade é corrigida na versão 3.4.5 do NLTK e versões posteriores. O seguinte commit resolve a vulnerabilidade: https://github.com/nltk/nltk/commit/f59d7ed8df2e0e957f7f247fe218032abdbe9a10