
Laboratório prático para CVE-2024-4367, demonstrando a exploração da vulnerabilidade de renderização de fontes do PDF.js no Firefox. Inclui gerador de PoC, comparação entre código-fonte vulnerável e corrigido.
[!IMPORTANT] Este repositório destina-se ao aprendizado de vulnerabilidades.
Este hands-on deve ser realizado em um computador adequado e sob sua própria gestão. Nunca pratique atos ilegais.
Além disso, o autor não assume quaisquer danos ou responsabilidades decorrentes deste repositório.
Hands-on para experimentar o CVE-2024-4367
python CVE-2024-4367-PoC/CVE-2024-4367.py "alert('document.domain')"
Fonte: https://github.com/LOURC0D3/CVE-2024-4367-PoC
Um poc.pdf de ataque será criado.
Para instruções detalhadas, consulte o seguinte:
https://github.com/LOURC0D3/CVE-2024-4367-PoC
python firefox.py 125
Abra o poc.pdf usando o Firefox Nightly em uma versão vulnerável.
Na primeira inicialização, o download do Firefox Nightly será realizado, portanto pode demorar.
Confirme que o JavaScript foi executado e que um alerta foi exibido.
python firefox.py 135
Abra o poc.pdf no Firefox Nightly mais recente e confirme que nenhum alerta é exibido, ou seja, que a vulnerabilidade foi corrigida.
Há o vulnerable-pdf.js, que contém a vulnerabilidade, e o invulnerable-pdf.js, no qual a vulnerabilidade foi corrigida.
O pdfjs_diff_font_renderer.js é a diferença (diff) entre vulnerable-pdf.js/src/core/font_renderer.js e invulnerable-pdf.js/src/core/font_renderer.js.