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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
gitlab-onigmo-scanner — فرز للكشف فقط لـ GitLab CVE-2026-97229 (و CVE-2026-110264): تقييم إصدار GitLab المُدار ذاتيًا بالإضافة إلى Ruby الخاص به، واكتشاف فخّي تصحيح 12 أكتوبر وRuby المخصص. لا حمولات، ولا فحوصات شبكية. | Kitploit
أدوات/GitHubGitHub/foxcornlab/gitlab-onigmo-scanner
أدوات دفاعيةماسحات الثغرات الأمنيةتحليل الثغرات الأمنيةتدقيق التكويناختبار الاختراقالاستجابة للحوادث
GitHubfoxcornlab/gitlab-onigmo-scanner

gitlab-onigmo-scanner

فرز للكشف فقط لـ GitLab CVE-2026-97229 (و CVE-2026-110264): تقييم إصدار GitLab المُدار ذاتيًا بالإضافة إلى Ruby الخاص به، واكتشاف فخّي تصحيح 12 أكتوبر وRuby المخصص. لا حمولات، ولا فحوصات شبكية.

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
عرض المستودع
1منذ 7 أياملم تتم المراجعة بعد

gitlab-onigmo-scanner

فرز الإصدارات لثغرتي GitLab النصيتين (regex) المصنفتين CVSS 10.0، CVE-2026-97229 وCVE-2026-110264. أعطه إصدار GitLab الذي تملكه، سيخبرك ما إذا كان ذلك البناء لا يزال عرضة للخطر، ويكشف الفخّين اللذين يوقعان الناس بالفعل. لا يلمس الشبكة أبدًا، ولا يرسل أي حمولة (payload)، ولا يصل إلى نقطة نهاية فحص CI، ولا يترجم تعبيرًا نصيًا (regex) مصممًا خصيصًا.

الثغرة

التفصيلالقيمة
CVECVE-2026-97229، بالإضافة إلى CVE-2026-110264 المصنفة إلى جانبها
الخللInteger overflow (CWE-190) في Onigmo، محرك التعبيرات النصية المدمج في Ruby، عندما يترجم GitLab تعبيرًا نصيًا مقدَّمًا من المستخدم
التأثيرتنفيذ تعليمات برمجية عن بُعد دون مصادقة على خادم GitLab ذاتي الإدارة، في ظروف معينة
الخطورة10.0 حرجة لكليهما، مصنفة من قِبل GitLab بصفتها CNA
الاستغلالأُضيفت CVE-2026-97229 إلى CISA KEV في 2026-10-29، والموعد النهائي الفيدرالي 2026-11-01. لا يوجد إدراج لـ CVE-2026-110264 في KEV حتى كتابة هذه السطور، وGitLab تفيد بعدم وجود أي دليل على استخدامها في هجمات

CVE-2026-97229 هي ثغرة التعبيرات النصية في CI/CD: تعبير نصي مصمم خصيصًا في إعداد CI/CD، مع تحقق غير كافٍ من التعبيرات النصية، وأُصلحت في 2026-10-12. أما CVE-2026-110264 فهي ثغرة تعبيرات نصية ثانية أوسع نطاقًا أُصلحت في 2026-10-21، وتمتد إلى كل إصدار ذاتي الإدارة وصولًا إلى 7.0. المحرك نفسه، والدرجة نفسها، لكن الخلل مختلف، ولهذا السبب تحديدًا لا يكفي فحص واحد.

الإصدارات المُصلحة

CVE-2026-97229 (أُصلحت في 2026-10-12)

الخطمُصلح في
GitLab 19.219.2.8
GitLab 19.319.3.5
GitLab 19.419.4.2
GitLab 19.5، والأقدم من 19.2غير مُدرج كمتأثر بهذه الثغرة

CVE-2026-110264 (أُصلحت في 2026-10-21)

الخطمُصلح في
GitLab 19.519.5.1
GitLab 19.419.4.3
GitLab 19.319.3.6
GitLab 19.219.2.9
GitLab 19.119.1.9
GitLab 19.019.0.10
GitLab 18.1118.11.13
GitLab 18.10 والأقدملا يوجد إصدار مُصلح، قم بالترقية إلى 18.11.13 أو أحدث

Ruby، لعمليات التثبيت من المصدر والصور المخصصة

الخطمُصلح في
Ruby 3.33.3.13
Ruby 3.43.4.12
Ruby 4.04.0.9
Ruby 3.2 والأقدملا يوجد إصلاح، انتهى عمره الافتراضي، انتقل إلى 3.4 أو 4.0

الفخ 1: تصحيح 12 أكتوبر لا يغطي 21 أكتوبر

أصلحت 19.4.2 و19.3.5 و19.2.8 الثغرة CVE-2026-97229. كل واحدة منها تقع دون إصلاح CVE-2026-110264 الخاص بفرعها (19.4.3، 19.3.6، 19.2.9). إذا قمت بالتصحيح في 12 أكتوبر وتوقفت، فأنت لا تزال عرضة للخطر، وأي أداة فحص تعرف الثغرة الأولى فقط ستخبرك بأنك سليم. هذه الأداة تصنّف كلتيهما، وتذكر الفخ في مخرجاتها عندما تراه.

الفخ 2: ترقية GitLab لا تصلح Ruby الخاص بك

إصلاح GitLab هو تصحيح لـ Ruby الذي تُضمّنه في حزمها وصورها الرسمية. أما التثبيت من المصدر، أو الصورة المخصصة التي تثبّت Ruby بشكل منفصل، فلا تحصل على ذلك التصحيح من ترقية GitLab. عاشت Alpine Linux هذه التجربة: فقد رقّت إلى GitLab 19.3.6 في 2026-10-22 وظلت عرضة للخطر، لأن صورتها استخدمت Ruby القياسي. فحص مهاجم خادمها في 2026-10-20 و21، وأسقط العمّال (workers) ثماني مرات، ووصل إلى منتصف الاستغلال في أربع منها، وعاد في 25 و26. لم تجد Alpine دليلًا على نجاح الاستغلال، ولم تستطع استبعاده، فأعادت بناء النسخة من الصفر، واستبدلت مفاتيحها السرية وأعادت تعيين كل كلمة مرور. صورتها المُصلحة، التي أُعيد سحبها بعد 2026-10-27، تحمل Ruby 3.3.13.

لذا: --install-type official يقيّم إصدار GitLab وحده، لأن Ruby يأتي معه. أما --install-type source أو custom فيقيّم أيضًا Ruby الذي توفره عبر --ruby-version، وإصدار Ruby المفقود يُقيَّم UNKNOWN، وليس سليمًا. Ruby 4.0.8 حالة خاصة تستحق المعرفة: فهي تصلح خلل CVE-2026-97229 لكن ليس CVE-2026-110264، لذا تُقيَّم VULNERABLE هنا. لم يطلب Ruby أي معرّفات CVE خاصة به لهذه الإصلاحات، ولهذا فإن أي ماسح يطابق سجلات CVE مع الحزم المثبّتة لن يجد أي Ruby مصاب في أي مكان. هذه الأداة تفحص إصدار Ruby مباشرةً بدلًا من ذلك.

ما الذي تفحصه

  • إصدار GitLab واحد: CVE-2026-97229 وCVE-2026-110264 كلٌّ على حدة، ثم حكم إجمالي واحد
  • جرد CSV لكثير من النسخ: name,gitlab_version,ruby_version,install_type,hosting
  • فخ Ruby، عندما تقول إن التثبيت من نوع source أو custom
  • GitLab.com وDedicated بوصفهما مُرقَّعين مسبقًا، دون حاجة إلى أي إجراء

كل نتيجة تحصل على حكم: VULNERABLE أو FIXED أو EOL_NO_FIX أو UNKNOWN أو NOT_AFFECTED لـ CVE واحد على فرع لا يمسّه. يُحتسب EOL_NO_FIX كإصابة: فلا توجد رقعة قادمة لذلك الخط.

ما الذي لا تفعله أبدًا

لا طلبات شبكة. لا فحص للخوادم البعيدة. لا تعبيرات نمطية مصنوعة، لا طلب فحص CI، لا حركة استغلال، لا شيفرة PoC. تقرأ سلاسل الإصدارات التي توفرها وتتوقف. وهذا متعمّد: فـ PoCs العامة لـ CVE-2026-97229 موجودة بالفعل، وإعادة إنتاج واحدة هنا لن تضيف شيئًا دفاعيًا.

لماذا هذا، بينما PoCs وعدّادات الإصدارات موجودة بالفعل

المادة العامة لـ CVE-2026-97229 هجومية في معظمها: PoCs تشغّل شيفرة بصلاحيات مستخدم git، ومختبرات تحدد أي الإصدارات قابلة للتسليح. Censys يعدّ المضيفين المكشوفين حسب الإصدار. نشر GitLab قواعد Sigma لرصد محاولات الاستغلال في السجلات. لا شيء من ذلك أداة فرز دفاعية قائمة بذاتها تقيّم ثغرتي أكتوبر ذواتي CVSS 10.0 معًا وتفحص Ruby الكامن تحت تثبيت source أو custom. تلك الفجوة هي هذا المستودع: أمر واحد، كلتا الثغرتين، كلا الفخّين، دون أي حمولة. استخدمه إلى جانب قواعد Sigma الخاصة بـ GitLab، لا بدلًا منها. إذا فُحصت نسخة ما، فإن فرز الإصدارات ليس فرزًا للاختراق: افحص سجلات انهيار العمال وتقارير انهيار Onigmo، واتبع مثال Alpine إن لم تستطع استبعاد محاولة ما.

التقييم

FindingSeverity
GitLab أدنى من إصلاح فرعه لأي من CVEVULNERABLE
GitLab على 18.10 أو أقدم، أو Ruby 3.2 أو أقدم على تثبيت source/customEOL_NO_FIX، يُحتسب كإصابة
GitLab عند كلا الإصلاحين أو بعدهما، وRuby مُصلَح حيث ينطبقFIXED
تثبيت Source/custom دون إصدار Ruby، أو فرع أحدث من بيانات هذه الأداة (2026-10-30)UNKNOWN، وليس سليمًا
GitLab.com / DedicatedFIXED، مُرقَّع من GitLab

الاستخدام

# One instance, official package or image
python3 gitlab_onigmo_scanner.py --version 19.4.2

# One instance, source install with its own Ruby
python3 gitlab_onigmo_scanner.py --version 19.4.3 --ruby-version 3.4.11 --install-type source

# A whole estate, machine-readable output
python3 gitlab_onigmo_scanner.py --list inventory.csv --json

# Tests (version tables only, no network)
python3 -m unittest discover -s tests -v

تنسيق inventory.csv، صف الرأس اختياري:

name,gitlab_version,ruby_version,install_type,hosting
prod,19.4.1,,official,self-managed
staging,19.4.3,,official,self-managed
legacy-source,19.4.3,3.4.11,source,self-managed

أكواد الخروج: 0 = لم يُعثر على أي شيء قابل للاستغلال، 2 = نتيجة قابلة للاستغلال أو نهاية العمر الافتراضي، 1 = خطأ في الفحص. لا يغيّر UNKNOWN رمز الخروج، لكنه ليس نظيفًا. أكّد تلك العناصر بطريقة أخرى قبل إغلاقها.

اختلافات المصادر، وما يتبعه هذا الأداة

تنزيل الأداة