
CVE-2026-41651 (Pack2TheRoot) का गहन विश्लेषण, जो PackageKit में एक स्थानीय विशेषाधिकार वृद्धि (local privilege escalation) है। इसमें भेद्यता का विवरण, हमले की श्रृंखला (attack chain), IoCs, और शमन मार्गदर्शन शामिल है।
PackageKit स्थानीय विशेषाधिकार वृद्धि (TOCTOU रेस कंडीशन)
CVSS v3.1: 8.8 (उच्च) | CWE-367 | प्रकाशित: 2026-04-22
यह रिपॉजिटरी अप्रैल 2026 में सार्वजनिक की गई PackageKit की स्थानीय विशेषाधिकार वृद्धि भेद्यता CVE-2026-41651 (Pack2TheRoot) पर एक व्यक्तिगत विश्लेषण रिपोर्ट और शोध सामग्री का संकलन है।
| आइटम | विवरण |
|---|---|
| CVE ID | CVE-2026-41651 |
| भेद्यता का नाम | Pack2TheRoot |
| प्रभावित सॉफ्टवेयर | PackageKit 1.0.2 ~ 1.3.4 |
| पैच संस्करण | PackageKit 1.3.5 |
| हमले का प्रकार | स्थानीय विशेषाधिकार वृद्धि (LPE) |
| खोजकर्ता | Deutsche Telekom Red Team |
PackageKit के pk-transaction.c में 3 बगों के संयुक्त प्रभाव से, स्थानीय अनधिकृत उपयोगकर्ता root विशेषाधिकार प्राप्त कर सकता है।
Bug 1: InstallFiles() कॉल के समय cached_transaction_flags को बिना शर्त अधिलेखित करना (Line 4036)
↓
Bug 2: स्थिति संक्रमण अस्वीकृत होने पर दूषित फ्लैग का रोलबैक किए बिना मेमोरी में बने रहना (Line 876~881)
↓
Bug 3: pk_transaction_run() निष्पादन के समय दूषित फ्लैग को पढ़ना (Line 2273~2277)
↓
परिणाम: polkit प्रमाणीकरण बायपास → root विशेषाधिकार के साथ मनमाना पैकेज इंस्टॉल → SUID bash निर्माण
InstallFiles(SIMULATE=0x4, dummy) एसिंक्रोनस ट्रांसमिशन → polkit प्रमाणीकरण बायपासInstallFiles(NONE=0x0, payload) तुरंत ट्रांसमिशन → फ्लैग संदूषण (TOCTOU)NOT_AUTHORIZED प्राप्त होने के समय तक पैकेज इंस्टॉल पूरा हो चुका होता है/tmp/.suid_bash निर्माण → euid=0(root) प्राप्ति| आइटम | विवरण |
|---|---|
| PoC पुनरुत्पादन | Docker (Ubuntu 24.04.4 LTS) |
| IoC संग्रह | VirtualBox (Ubuntu 22.04.5 LTS, PackageKit 1.2.5) |
| कोड विश्लेषण | GitHub — PackageKit commit 2149735 (भेद्य) / 76cfb675 (पैच) |
CVE-2026-41651-analysis/
├── README.md
└── CVE-2026-41651_분석보고서.docx # विस्तृत विश्लेषण रिपोर्ट
हमले के प्रयास के दौरान निम्नलिखित लॉग पैटर्न सिस्टम में दर्ज होते हैं।
# पहचान कमांड
journalctl -u packagekit | grep -i "assertion\|emitted\|failed"
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 ← क्रैश
PackageKit[PID]: daemon start ← स्वचालित पुनरारंभ
# SUID फ़ाइल पहचान
find /tmp -perm -4000 -type f 2>/dev/null
# → /tmp/.suid_bash मौजूद होने पर तत्काल प्रतिक्रिया आवश्यक
# Ubuntu / Debian
sudo apt update && sudo apt upgrade packagekit
# RHEL / Fedora
sudo dnf update PackageKit
# संस्करण जाँच (1.3.4 या उससे कम भेद्य है)
dpkg -l | grep -i packagekit # Debian/Ubuntu
rpm -qa | grep -i PackageKit # RHEL/Fedora
# डेमॉन स्थिति जाँच
systemctl status packagekit
# PackageKit अक्षम करना
sudo systemctl disable --now packagekit
⚠️ अक्षम करने पर GNOME Software जैसे GUI पैकेज प्रबंधन उपकरण उपलब्ध नहीं होंगे
यह रिपॉजिटरी सुरक्षा अनुसंधान और शैक्षिक उद्देश्यों के लिए लिखी गई है।
भेद्यता का दुरुपयोग और अनधिकृत सिस्टम एक्सेस कानूनी दंड के अधीन हो सकता है, और सभी परीक्षण स्वामित्व वाले पृथक वातावरण में किए गए हैं।
| दिनांक | विवरण |
|---|
| 2026-04-08 | Deutsche Telekom Red Team → Red Hat/PackageKit को प्रारंभिक रिपोर्ट |
| 2026-04-10 | PackageKit अनुरक्षक द्वारा स्वीकृति और पुनरुत्पादन की पुष्टि |
| 2026-04-13 | निजी पैच का प्रारूप तैयार |
| 2026-04-15 | Canonical को भेद्यता साझा करना |
| 2026-04-19 | वितरण विक्रेताओं को निजी सूचना |
| 2026-04-22 | PackageKit 1.3.5 रिलीज़, CVE आवंटन, सार्वजनिक घोषणा |