
Proof-of-concept de exploit para CVE-2026-34990, uma escalada de privilégios local no CUPS 2.4.16 através de escrita arbitrária de ficheiros via CUPS_CREATE_LOCAL_PRINTER e um token de autenticação local capturado.
Escalação de privilégios local no CUPS 2.4.16 por meio de escrita arbitrária de arquivos através de CUPS_CREATE_LOCAL_PRINTER.
O CUPS permite criar impressoras locais com um device-uri definido para um caminho file://. O envio de um trabalho de impressão com document-format: application/vnd.cups-raw e compression: gzip faz com que o cupsd descompacte os dados do trabalho e os grave diretamente nesse caminho — como o usuário sob o qual o cupsd é executado (normalmente root ou uma conta de serviço altamente privilegiada).
O token de autenticação local necessário para operações administrativas pode ser capturado apontando o cups-create-local-printer.test do ipptool para um servidor IPP falso em localhost. Quando o CUPS se conecta para autenticar, ele envia o cabeçalho Authorization: Local <token>, que você intercepta antes que o CUPS possa verificá-lo.
ipptool com cups-create-local-printer.test apontado para o servidor falso — o CUPS envia seu token de autenticação local para autenticar401 WWW-Authenticate: Local trc="y" na primeira conexão para capturar o token de forma limpadevice-uri: file:///etc/sudoers.d/<user>-pwnsudo -n /bin/bashA chamada create_local_printer mantém seu socket aberto durante a corrida — isso mantém o registro da impressora em andamento enquanto as operações administrativas e o trabalho de impressão chegam.
ipptool instalado com cups-create-local-printer.test (instalação padrão do CUPS)# writes /etc/sudoers.d/<your-username>-pwn by default
python3 exploit.py
# custom target
CUPS_TARGET=/etc/sudoers.d/youruser-pwn CUPS_ATTACKER=youruser python3 exploit.py
Edite SUDOERS_LINE no script para usar seu nome de usuário real — o padrão é aporter.
O exploit tenta até 12 vezes. Cada tentativa exclui e recria a impressora para redefinir o estado.
Apenas para testes de segurança autorizados e pesquisa.