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-poc — CVE-2026-34990 — CUPS <= 2.4.16 Escalação de Privilégios Local | Kitploit
Ferramentas/GitHubGitHub/bara-almustafa/cve-2026-34990-poc
Ferramentas DefensivasEscalada de PrivilégiosAnálise de VulnerabilidadesExploraçãoVirtualização para SegurançaTestes de PenetraçãoAprendizado e Educação
GitHubbara-almustafa/cve-2026-34990-poc

CVE-2026-34990-poc

CVE-2026-34990 — CUPS <= 2.4.16 Escalação de Privilégios Local

Ver Repositório
há 2 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 — CUPS <= 2.4.16 Escalação de Privilégios Local

Usuário local sem privilégios → root, através de um token de autorização Local do CUPS vazado e uma fila de impressão file:/// que contorna a política.

PoC por 0xcybersoldier

status platform language type CVE


Índice

  • Visão Geral
  • Detalhes da Vulnerabilidade
  • Versões Afetadas
  • Cadeia de Ataque
  • Requisitos
  • Instalação
  • Uso
  • Exemplo de Execução
  • Como Funciona Internamente
  • Solução de Problemas
  • Detecção
  • Mitigação
  • Referências
  • Aviso Legal
  • Autor

Visão Geral

CVE-2026-34990 é uma falha de escalação de privilégios local no OpenPrinting CUPS que afeta as versões 2.4.16 e anteriores.

Um usuário local sem privilégios que consiga alcançar o daemon do CUPS (cupsd) pode potencialmente fazer com que ele se autentique contra um serviço IPP controlado pelo atacante na interface de loopback.

A credencial resultante Authorization: Local <token> pode então ser reutilizada contra a interface administrativa do CUPS.

A cadeia de ataque pode, em última análise, ser usada para criar uma fila de impressão file:/// e fazer com que o cupsd escreva um arquivo controlado pelo atacante com privilégios de root.

A demonstração canônica utiliza um arquivo drop-in em sudoers para obter um shell de root.

Este repositório contém um PoC em Python 3 de arquivo único que implementa a cadeia de ataque, incluindo um modo --check mais seguro para demonstrar o comportamento vulnerável de escrita de arquivo sem criar diretamente uma configuração persistente de escalação de privilégios.


Detalhes da Vulnerabilidade

CampoValor
CVE IDCVE-2026-34990
ComponenteOpenPrinting CUPS (cupsd)
Versões Afetadas<= 2.4.16
Classe da VulnerabilidadeCWE-306 / CWE-284
ImpactoEscalação de Privilégios Local
Vetor de AtaqueLocal
Privilégios NecessáriosBaixo
Interação do UsuárioNenhuma
Descoberto PorAsim Viladi Oglu Manizada
AdvisoryGHSA-c54j-2vqw-wpwp

Versões Afetadas

O PoC tem como alvo:

OpenPrinting CUPS <= 2.4.16

Verifique a versão do CUPS em execução local:

curl -sI http://127.0.0.1:631 | grep -i '^Server:'

Exemplo:

Server: CUPS/2.4.16 IPP/2.1

Nota: Verifique o advisory atual do upstream antes de confiar no intervalo de versões afetadas em pesquisa de produção, pois patches do fornecedor e o status das versões podem mudar.


Cadeia de Ataque

 [1] Usuário local emite CUPS-Create-Local-Printer
         |
         | device-uri = ipp://127.0.0.1:9189/ipp/print
         v
 [2] cupsd conecta ao serviço IPP controlado
     pelo atacante no loopback
         |
         v
 [3] Serviço IPP falso responde com:
     401 Unauthorized
     WWW-Authenticate: Local trc="y"
         |
         v
 [4] CUPS/libcups repete a requisição com:
     Authorization: Local <token>
         |
         v
 [5] Token capturado
         |
         v
 [6] Token reutilizado contra a interface administrativa do CUPS
         |
         v
 [7] Impressora temporária file:// é criada e
     transicionada pelo fluxo de gerenciamento de impressoras
         |
         v
 [8] Print-Job faz o cupsd escrever o documento
     fornecido no alvo file://
         |
         v
 [9] Payload de demonstração pode modificar uma
     configuração privilegiada como sudoers
         |
         v
       ROOT

Requisitos

  • Python 3.8+
  • Apenas biblioteca padrão do Python
  • Acesso local ao shell como usuário sem privilégios
  • Serviço CUPS acessível em 127.0.0.1:631
  • sudo disponível para a demonstração de escalação de privilégios
  • Um sistema Linux executando uma versão vulnerável do CUPS

Nenhum pacote Python externo é necessário.


Instalação

Clone o repositório:

git clone https://github.com/bara-almustafa/CVE-2026-34990-poc.git
cd CVE-2026-34990-poc

Torne o PoC executável:

chmod +x cve-2026-34990.py

Nenhuma dependência adicional é necessária.


Uso

Modo de Verificação Segura

Comece com o modo de verificação não persistente:

./cve-2026-34990.py --check

O modo de verificação tenta demonstrar a primitiva vulnerável de escrita de arquivo com proprietário root usando um arquivo de prova temporário e limpa após o teste.


Demonstração de Shell Root

O modo padrão demonstra a cadeia completa de escalação de privilégios:

./cve-2026-34990.py

Executar um Comando como Root

Um comando pode ser fornecido com:

./cve-2026-34990.py -c 'id'

Exemplo:

./cve-2026-34990.py -c 'id; whoami'

Opções

FlagPadrãoDescrição
--cups-port631Porta TCP local do CUPS
--listen-port9189Porta de loopback usada pelo listener de captura de token
--checkDesligadoModo de verificação segura
-c, --command—Executa um comando após exploração bem-sucedida
--proof-dir/var/tmpDiretório pai para arquivos de prova temporários
--attempts8Número de tentativas de escrita de arquivo
--iterations80Número de rodadas de requisição IPP por tentativa

Exemplo de Execução

$ ./cve-2026-34990.py --check

 ██████╗ ██╗  ██╗ ██████╗██╗   ██╗██████╗ ███████╗██████╗ ███████╗ ██████╗ ██╗     ██████╗ ██╗███████╗██████╗
██╔═████╗╚██╗██╔╝██╔════╝╚██╗ ██╔╝██╔══██╗██╔════╝██╔══██╗██╔════╝██╔═══██╗██║     ██╔══██╗██║██╔════╝██╔══██╗
██║██╔██║ ╚███╔╝ ██║      ╚████╔╝ ██████╔╝███████╗██████╔╝█████╗  ██║   ██║██║     ██║  ██║██║█████╗  ██████╔╝
████╔╝██║ ██╔██╗ ██║       ╚██╔╝  ██╔══██╗╚════██║██╔══██╗██╔══╝  ██║   ██║██║     ██║  ██║██║██╔══╝  ██╔══██╗
╚██████╔╝██╔╝ ██╗╚██████╗   ██║   ██████╔╝███████║██║  ██║███████╗╚██████╔╝███████╗██████╔╝██║███████╗██║  ██║
 ╚═════╝ ╚═╝  ╚═╝ ╚═════╝   ╚═╝   ╚═════╝ ╚══════╝╚═╝  ╚═╝╚══════╝ ╚═════╝ ╚══════╝╚═════╝ ╚═╝╚══════╝╚═╝  ╚═╝

  CVE-2026-34990 :: CUPS <= 2.4.16 Escalação de Privilégios Local
  PoC por 0xcybersoldier

[*] Disparando vazamento de token do CUPS...
[+] Token de autorização Local do CUPS capturado
[*] Corrida de escrita de arquivo: tentativa 1/8
[+] VULNERÁVEL: CUPS escreveu um arquivo de prova com proprietário root

Como Funciona Internamente

1. Captura de Token

O PoC cria uma impressora temporária no CUPS cujo device-uri aponta para um listener IPP controlado pelo atacante na interface de loopback.

Exemplo:

ipp://127.0.0.1:9189/ipp/print

O listener local responde com um desafio de autenticação:

401 Unauthorized
WWW-Authenticate: Local trc="y"

Isso faz com que a interação cliente/servidor do CUPS repita a requisição usando o mecanismo de autenticação local.

O PoC captura a credencial resultante:

Authorization: Local <token>

2. Acesso Administrativo

Baixar ferramenta