Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
CVE-2026-41651-analysis — In-depth analysis of CVE-2026-41651 (Pack2TheRoot), a local privilege escalation in PackageKit. Includes vulnerability breakdown, attack chain, IoCs, and mitigation guidance. | Kitploit
Tools/GitHubGitHub/kowntaewook/cve-2026-41651-analysis
Privilege EscalationVulnerability AnalysisExploitationPapers & ResearchLearning & EducationCurated Resources
GitHubkowntaewook/cve-2026-41651-analysis

CVE-2026-41651-analysis

In-depth analysis of CVE-2026-41651 (Pack2TheRoot), a local privilege escalation in PackageKit. Includes vulnerability breakdown, attack chain, IoCs, and mitigation guidance.

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share
View Repository
44 months agoNot yet reviewed

CVE-2026-41651 — Pack2TheRoot Analysis

PackageKit Local Privilege Escalation (TOCTOU Race Condition)
CVSS v3.1: 8.8 (HIGH) | CWE-367 | Published: 2026-04-22


📌 Overview

This repository compiles a personal analysis report and research material on the PackageKit local privilege escalation vulnerability CVE-2026-41651 (Pack2TheRoot) disclosed in April 2026.

ItemDetails
CVE IDCVE-2026-41651
Vulnerability NamePack2TheRoot
Affected SoftwarePackageKit 1.0.2 ~ 1.3.4
Patched VersionPackageKit 1.3.5
Attack TypeLocal Privilege Escalation (LPE)
Discovered ByDeutsche Telekom Red Team

🔍 Vulnerability Summary

Three bugs in PackageKit's pk-transaction.c work in combination, allowing a local unprivileged user to gain root privileges.

Bug Chain

root@kitploit:~
Bug 1: cached_transaction_flags unconditionally overwritten when InstallFiles() is called (Line 4036)
  ↓
Bug 2: Contaminated flags remain in memory without rollback when state transition is denied (Line 876~881)
  ↓
Bug 3: Contaminated flags are read at the time pk_transaction_run() executes (Line 2273~2277)
  ↓
Result: polkit authentication bypass → arbitrary package installation as root → SUID bash creation

Attack Flow

  1. Send InstallFiles(SIMULATE=0x4, dummy) asynchronously → bypass polkit authentication
  2. Send InstallFiles(NONE=0x0, payload) immediately → flag contamination (TOCTOU)
  3. By the time polkit NOT_AUTHORIZED is received, the package installation is already complete
  4. /tmp/.suid_bash created → euid=0(root) obtained

🖥️ Analysis Environment

ItemDetails
PoC ReproductionDocker (Ubuntu 24.04.4 LTS)
IoC CollectionVirtualBox (Ubuntu 22.04.5 LTS, PackageKit 1.2.5)
Code AnalysisGitHub — PackageKit commit 2149735 (vulnerable) / 76cfb675 (patched)

📂 File Structure

root@kitploit:~
CVE-2026-41651-analysis/
├── README.md
└── CVE-2026-41651_분석보고서.docx   # Detailed analysis report

📋 Indicators of Compromise (IoC)

The following log patterns are recorded on the system during an attack attempt.

root@kitploit:~
# Detection commands
journalctl -u packagekit | grep -i "assertion\|emitted\|failed"
root@kitploit:~
PackageKit[PID]: pk_backend_job_emit: assertion 'PK_IS_BACKEND_JOB(job)' failed
PackageKit[PID]: g_signal_emit_valist: assertion 'G_TYPE_CHECK_INSTANCE(instance)' failed
PackageKit[PID]: GLib-Object:CRITICAL: g_object_unref: assertion 'G_IS_OBJECT(object)' failed
PackageKit[PID]: backend job failed
PackageKit[PID]: emit transaction failed
PackageKit[PID]: daemon stop    ← crash
PackageKit[PID]: daemon start   ← automatic restart
root@kitploit:~
# SUID file detection
find /tmp -perm -4000 -type f 2>/dev/null
# → immediate response required if /tmp/.suid_bash exists

🛡️ Remediation

Apply Patch (Recommended)

root@kitploit:~
# Ubuntu / Debian
sudo apt update && sudo apt upgrade packagekit

# RHEL / Fedora
sudo dnf update PackageKit

Check Vulnerability Status

root@kitploit:~
# Version check (vulnerable if 1.3.4 or lower)
dpkg -l | grep -i packagekit          # Debian/Ubuntu
rpm -qa | grep -i PackageKit          # RHEL/Fedora

# Check daemon status
systemctl status packagekit

Temporary Mitigation (Before Patching)

root@kitploit:~
# Disable PackageKit
sudo systemctl disable --now packagekit

⚠️ Disabling it makes GUI package management tools such as GNOME Software unavailable


📅 Timeline


🔗 References

  • Official CVE Page
  • GitHub Security Advisory
  • Deutsche Telekom Original Advisory
  • NVD Details
  • Patch Commit (76cfb675)
  • PoC Repository (Vozec)

⚠️ Disclaimer

This repository was created for security research and educational purposes.
Exploiting vulnerabilities or unauthorized system access may result in legal penalties, and all tests were conducted in isolated environments owned by the author.

Download Tool
DateDetails
2026-04-08Deutsche Telekom Red Team → Initial report to Red Hat/PackageKit
2026-04-10PackageKit maintainers acknowledged and confirmed reproduction
2026-04-13Private patch draft created
2026-04-15Vulnerability shared with Canonical
2026-04-19Private notification to distribution vendors
2026-04-22PackageKit 1.3.5 released, CVE assigned, public disclosure