Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
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-43494-PinTheft-PoC — Prova de conceito para CVE-2026-43494 (PinTheft): LPE no Linux via bug de refcount zerocopy do RDS + buffers fixos do io_uring → substituição do cache de página SUID. Apenas pesquisa autorizada. | Kitploit
Ferramentas/GitHubGitHub/jayhutajulu1/cve-2026-43494-pintheft-poc
Escalada de PrivilégiosForensia de MemóriaAnálise de VulnerabilidadesExploraçãoAprendizado e EducaçãoExploração de BináriosLabs e Prática
GitHubjayhutajulu1/cve-2026-43494-pintheft-poc

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-43494-PinTheft-PoC

Prova de conceito para CVE-2026-43494 (PinTheft): LPE no Linux via bug de refcount zerocopy do RDS + buffers fixos do io_uring → substituição do cache de página SUID. Apenas pesquisa autorizada.

Ver Repositório
18há 1 mêsAinda não revisado

SLEY — Prova de Conceito PinTheft (CVE-2026-43494)

SLEY PoC — uid 1000 para root no WSL2

Prova de conceito — uid=1000(raken) → uid=0(root) após ./sley no WSL2 (6.6.87.2-microsoft-standard-WSL2)

CVE-2026-43494 Linux LPE io_uring RDS

Prova de conceito em arquivo único para CVE-2026-43494 (PinTheft): uma escalada de privilégio local no kernel Linux que encadeia um bug de contagem de referência no zerocopy do RDS com buffers fixos do io_uring para sobrescrever o cache de páginas de um binário SUID-root.

Aviso: Este repositório destina-se exclusivamente a pesquisa de segurança autorizada, educação e testes defensivos. Executá-lo em sistemas que você não possui ou sem permissão explícita para testar é ilegal e antiético. Os autores não assumem nenhuma responsabilidade pelo uso indevido.


Visão Geral

A pesquisa pública original e a PoC foram publicadas pela equipe V12 Security (Aaron Esau). SLEY é uma reimplementação independente e compacta com uma interface de terminal estilizada para uso em laboratório e aprendizado.


Como funciona

root@kitploit:~
flowchart LR
    A[mmap anonymous page] --> B[io_uring: register fixed buffer]
    B --> C[Clone buffer table to 2nd ring]
    C --> D[1024× failing RDS zerocopy sends]
    D --> E[Drain FOLL_PIN bias / steal refs]
    E --> F[munmap → page freed]
    F --> G[SUID binary page reclaimed in page cache]
    G --> H[Stale io_uring ptr writes ELF stub]
    H --> I[exec SUID → root shell]
  1. Reconhecimento — Fixar na CPU 0, localizar um binário SUID legível (su, mount, passwd, …).
  2. Configuração do io_uring — Registrar a página anônima como buffer fixo (viés FOLL_PIN ≈ 1024).
  3. Roubo de pin — Inundar com envios zerocopy do RDS com falha; cada falha pode remover uma referência extra na primeira página fixada.
  4. Reivindicação e sobrescrita — Desmapear libera a página; reabrir o alvo SUID disputa a reivindicação do cache de páginas; metadados obsoletos do buffer fixo permitem escrever um pequeno stub ELF x86_64 no cache.
  5. Privesc — execve no binário SUID executa o stub injetado como root.

Requisitos

Kernel / Configuração

  • Kernel Linux vulnerável (não corrigido) com o bug do RDS presente
  • CONFIG_RDS=y e CONFIG_RDS_TCP=y
  • CONFIG_IO_URING=y e kernel.io_uring_disabled = 0
  • Módulos rds / rds_tcp carregados (ou carregáveis automaticamente por usuários não privilegiados)
  • Kernel ≥ 6.13 para a API IORING_REGISTER_CLONE_BUFFERS usada pela cadeia pública
  • x86_64 para o payload ELF incorporado no shell desta PoC

Ferramentas de compilação

root@kitploit:~
sudo apt install build-essential linux-libc-dev   # Debian/Ubuntu
# ou pacote de cabeçalhos equivalente na sua distribuição

Permissões

  • Um usuário local não privilegiado é suficiente em um host vulnerável (esse é o modelo de ameaça)
  • Não execute em sistemas de produção

Verificar exposição (apenas leitura)

root@kitploit:~
# Corrigido? (exemplo — ajuste para sua distribuição)
uname -r
grep -r CVE-2026-43494 /usr/share/doc/linux* 2>/dev/null || true

# RDS disponível?
grep CONFIG_RDS /boot/config-$(uname -r) 2>/dev/null
lsmod | grep -E '^rds'

# io_uring habilitado?
cat /proc/sys/kernel/io_uring_disabled  # esperado 0

Compilação

root@kitploit:~
gcc -O2 -Wall -Wextra -o sley sley.c

Linkagem estática (opcional, para imagens de laboratório mínimas):

root@kitploit:~
gcc -O2 -static -o sley sley.c

Uso

root@kitploit:~
./sley

Toda saída de status vai para stderr (interface com 256 cores ANSI, barra de progresso, registro em fases). Certifique-se de que seu terminal suporta UTF-8 e truecolor/256 cores para a interface com caracteres de desenho de caixa.

Exemplo de fases:

root@kitploit:~
PHASE 1 │ Reconnaissance
PHASE 2 │ Memory & io_uring setup
PHASE 3 │ Pin reference theft (RDS zerocopy)
PHASE 4 │ Page cache overwrite & privesc

Resultado esperado (host vulnerável)

Em uma configuração explorada com sucesso, a cadeia é concluída e entrega o controle ao binário SUID descoberto com a primeira página sobrescrita — resultando em um shell root se a corrida e o estado do kernel se alinharem.

Em kernels corrigidos, hosts protegidos ou com RDS/io_uring ausentes, a PoC falhará cedo (sem alvo SUID, erros de mmap/io_uring/socket, etc.).


Mitigação

Avisos de segurança específicos da distribuição podem conter correções adaptadas — acompanhe a fila de segurança do kernel do seu fornecedor.


Estrutura do projeto

root@kitploit:~
.
├── README.md              # Este arquivo
├── proof-of-concept.jpg   # Captura de tela: LPE bem-sucedido (uid 1000 → root)
├── sley.c                 # PoC em arquivo único + interface de terminal
└── .gitignore

Referências

  • NVD — CVE-2026-43494
  • oss-security — Discussão sobre PinTheft
  • Commit de correção do kernel

Legal

Este software é fornecido como está para pesquisa e educação. Você é responsável por cumprir as leis aplicáveis e obter autorização por escrito antes de testar qualquer sistema que não possua.


Licença

MIT — consulte o arquivo de licença do repositório, se adicionado. Use com responsabilidade.

Baixar ferramenta
ItemDetalhe
CVECVE-2026-43494
Nome públicoPinTheft
Componentenet/rds — caminho de envio zerocopy (rds_message_zcopy_from_user)
Primitivaput_page() duplicada quando a fixação da página falha → roubo de referências FOLL_PIN
ArmamentoBuffer fixo do io_uring + zerocopy do RDS com falha → UAF no cache de páginas (escrita)
ImpactoRoot local em configurações vulneráveis
Correção upstreame17492979319
AçãoObservações
Corrigir kernelAplicar a correção estável que contém o commit e17492979319
Desabilitar RDSmodprobe -r rds_tcp rds (e bloquear carregamento automático) se não for necessário
Restringir io_uringkernel.io_uring_disabled=1 ou 2 via sysctl
Privilégio mínimoRemover binários SUID desnecessários; usar contêineres com perfis protegidos
MonitorarAlertar sobre picos de falhas de zerocopy do RDS + padrões de registro de buffer do io_uring