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
setcred — CVE-2026-45250: FreeBSD 14.4 setcred kernel buffer overflow (LPE) | Kitploit
Ferramentas/GitHubGitHub/venglin/setcred
Privilege EscalationExploit FrameworksVulnerability AnalysisExploitationShellcodePenetration TestingPayload DevelopmentBinary Exploitation
GitHubvenglin/setcred

setcred

CVE-2026-45250: FreeBSD 14.4 setcred kernel buffer overflow (LPE)

Ver Repositório
222há 27 diasRevisado pelo Kitploit

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

FreeBSD setcred(2) — artefatos de pesquisa

Este subdiretório reúne a documentação e os exploits funcionais para a vulnerabilidade de estouro de buffer de pilha setcred(2) no kernel FreeBSD 14.x.

A vulnerabilidade em si está totalmente documentada em setcred.txt. A versão resumida: kern_setcred_copyin_supp_groups() usa sizeof(*groups) onde groups é gid_t **, produzindo um passo de 8 bytes em vez de 4 para um copyin() em um array de pilha do kernel de tamanho fixo. O estouro é acessível antes de qualquer verificação de privilégio, por qualquer usuário não privilegiado.

Este repositório captura dois caminhos de exploit funcionais:

  • sem SMAP / sem SMEP — exp2_lpe_no_smap.c. Uma única chamada de sistema setcred(2) altera a thread chamadora para uid=0 ao redirecionar a primitiva de cadeia em amd64_syscall+0x155 para shellcode em espaço de usuário através de uma struct sysentvec falsa.

  • SMAP / SMEP habilitado — exp_setcred_smap_zfs.c. Sequestra para ZSTD_initCStream_advanced em zfs.ko cujo corpo escreve td_ucred = rcx+1. Com rcx = K1 = parent_pargs - 1 (um qword plantado no slab pargs de um filho), o ponteiro de credenciais da thread chamadora cai dentro do slab pargs do pai onde plantamos uma struct ucred falsa com cr_uid=0. Funciona em qualquer sistema FreeBSD 14.4 GENERIC com zfs.ko carregado (configuração típica de servidor) e não requer nenhuma primitiva de vazamento de informações do kernel.

Layout

root@kitploit:~
setcred/
+- setcred.txt          Documentação principal: vulnerabilidade, ambas as técnicas de LPE,
|                       ponteiros de PoC, STATUS DA CORREÇÃO, cronograma.
|                       ASCII puro.
+- exploits/            Pacote de exploits selecionados.
    +- poc_dos.c                    PoC mínimo de DoS -- qualquer usuário
    |                               trava o kernel.
    +- exp2_lpe_no_smap.c           LPE completo em kernel sem SMAP/SMEP.
    +- exp_setcred_smap_zfs.c       LPE seguro com SMAP/SMEP via gadget ZSTD
    |                               do zfs.ko.  Sem vazamento de informações.
    +- wrapper.c                    Pequeno lançador setuid-root → /bin/sh
    |                               instalado em /tmp/rsh
    |                               pelo exp_setcred_smap_zfs.
    +- Makefile.setcred_smap_zfs    Pipeline de compilação do lado convidado para
    |                               o caminho SMAP/SMEP
    |                               (all, install, clean).
    +- README_setcred_smap_zfs.md   Documentação do usuário final para o
                                    caminho SMAP/SMEP.

Status

  • DoS (qualquer usuário trava o kernel) e LPE completo sem SMAP/SMEP são reproduzíveis pelos programas correspondentes em exploits/.

  • LPE completo com SMAP/SMEP habilitado é reproduzível via exp_setcred_smap_zfs.c em qualquer sistema FreeBSD 14.4 GENERIC com zfs.ko carregado. Consulte setcred.txt para a técnica.

  • 14.4-RELEASE / stable/14 permanecem vulneráveis até a data do relatório. A correção foi enviada para o main em 2025-11-27 (commit 000d5b5) como um efeito colateral de uma refatoração não relacionada e não foi incorporada às versões anteriores.

Baixar ferramenta