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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
spark-rest-auth-bypass — Apache Spark 4.2.0 - عالي - عن بُعد - بقايا صلاحيات - يتجاهل REST المستقل spark.authenticate | Kitploit
أدوات/GitHubGitHub/abraxas/spark-rest-auth-bypass
تصعيد الامتيازاتتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالمصادقةالأوراق والأبحاثسوء التكوينالفريق الأحمرمختبرات وتدريب عملي
GitHubabraxas/spark-rest-auth-bypass
3منذ 2 أياملم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

spark-rest-auth-bypass

Apache Spark 4.2.0 - عالي - عن بُعد - بقايا صلاحيات - يتجاهل REST المستقل spark.authenticate

عرض المستودع

Abraxas Labs - spark-rest-auth-bypass

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  spark-rest-auth-bypass

spark-rest-auth-bypass

الفئة: صلاحية متبقية الوصول: عن بُعد

Apache Spark 4.2.0 (32f72996) - Apache Software Foundation

منفذ Standalone Master REST مفعّل افتراضيًا على المنفذ 6066 ولا يقرأ spark.authenticate أبدًا. وعد CVE-2018-11770 بإيقاف REST افتراضيًا وبالفشل الآمن (fail-closed) إذا تم تعيين سر RPC بينما كان REST مفعّلًا. وقد عكس هذا الإصدار كلا الأمرين. MASTER_REST_SERVER_ENABLED هو createWithDefault(true). المرشحات هي فقط MASTER_REST_SERVER_FILTERS، والقيمة الافتراضية Nil. طلب POST /v1/submissions/create غير المُصادَق عليه يشغّل main الخاص بالمهاجم بصلاحية Worker UID. يحقن Worker المتغير _SPARK_AUTH_SECRET، لذا فإن قيد "driver بدون executors" لعام 2018 لم يعد صامدًا.

هذه بقية متبقية من 11770، وليست RCE جديدة من نوع CVE-2020-9480. لا يزال RPC 7077 يثبّت AuthServerBootstrap. إرسال المهام على عنقود بـ spark.authenticate=false هو الافتراضي الموثّق وليس هذه الثغرة.

المعرّفلا يوجد CVE بعد
الفئةصلاحية متبقية (بقية من CVE-2018-11770)
الوصولعن بُعد (HTTP غير مُصادَق عليه إلى Standalone Master 6066)
CWECWE-306، CWE-287
CVSSمرتفع: 8.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
المنتجApache Spark
المتأثر4.2.0 (32f7299601108917fb01920a54e084595b7b3bf8) standalone Master REST
المصادقةلا شيء على REST. المشغّل عيّن spark.authenticate=true. تُرك REST على الافتراضي.
الترخيصGNU Affero GPL v3.0
المختبر127.0.0.1:18900 فقط. صورة spark:4.2.0 الرسمية.

ثبّتُّ الوسم v4.2.0، والالتزام 32f7299601108917fb01920a54e084595b7b3bf8 (2026-07-11، v4.2.0-rc6). ليس master. وليس 4.3 RC.

ما يمكن للمهاجم فعله

الوصول إلى standalone Master REST على 6066. بدون ترويسة Authorization. spark.authenticate مفعّل. spark.master.rest.filters غير معيّن. يوجد Worker واحد على الأقل نشط.

الطريقةالهدفالصلاحية
POST /v1/submissions/create غير مُصادَق عليهRequestSubmitDriver (Master.scala:402-420) ثم Worker DriverWrapper classForName(mainClass).mainالسلامة (مُثبت مختبريًا): تشغيل mainClass الخاص بالمهاجم بصلاحية Worker UID. المختبر: driver بحالة RUNNING، ملف شاهد.
نفس create؛ Worker CommandUtils.buildLocalCommandبيئة driver _SPARK_AUTH_SECRETالسلامة (مُثبت مختبريًا): يمكن للـ driver الانضمام عبر SASL إلى عنقود RPC المُصادَق عليه. المختبر: injected=yes.
GET /v1/submissions/status/{id} غير مُصادَق عليهRequestDriverStatus (Master.scala:489-503)استطلاع (مُثبت مختبريًا للمعرّف المُنشأ): حالة driver / مضيف worker.
GET /v1/submissions/readyz غير مُصادَق عليهRequestReadyzاستطلاع (مُثبت مختبريًا): Master ليس في حالة STANDBY.
POST /v1/submissions/kill/{id} غير مُصادَق عليهRequestKillDriver (Master.scala:422-453)السلامة + التوافر (مُستنتج): إيقاف driver standalone لمستأجر آخر. نفس توصيلات servlet غير المُصادَق عليها؛ لم يُختبر.
POST /v1/submissions/killall غير مُصادَق عليهRequestKillAllDrivers (Master.scala:455-478)التوافر (مُستنتج): إنهاء كل driver standalone في حالة انتظار/تشغيل. لم يُختبر.
POST /v1/submissions/clear غير مُصادَق عليهRequestClearCompletedDriversAndAppsالسلامة (مُستنتج): إسقاط سجلات driver/app المكتملة. لم يُختبر.

مُثبت مختبريًا مقابل مُستنتج: create، وحقن السر، وحالة المعرّف الخاص، وreadyz كلها مختبريًا. kill / killall / clear مُستنتجة من نفس خريطة servlet غير المُصادَق عليها.

يتطلب: standalone Master (وليس YARN/K8s). المشغّل عيّن spark.authenticate=true. تُرك REST على الافتراضي (spark.master.rest.enabled صحيح، spark.master.rest.filters غير معيّن). مسار شبكي إلى Master 6066. وجود Worker واحد على الأقل. ليس العنقود المفتوح الموثّق (spark.authenticate=false).

السطح المجاور الذي يبقى مغلقًا

السطحالسبب
RPC 7077 مع spark.authenticate=trueلا يزال AuthServerBootstrap مطلوبًا. يبقى مسار الاستقبال في CVE-2020-9480 مغلقًا. ليست RCE جديدة من نوع 9480.
JWSFilter عند تعيينهspark.master.rest.filters=org.apache.spark.ui.JWSFilter بالإضافة إلى secretKey. الاختبارات تُرجع 403 بدون JWT. اختياري. الافتراضي Nil.
UI doAsلا يزال يتطلب admin. لا يرث REST مرشحات UI.
CVE-2022-33891 UI shellبقية argv الخاصة بـ id -Gn مغلقة في هذا الإصدار.
إرسال YARN / Kubernetesخادم REST هذا خاص بـ standalone Master فقط.
إرسال المهام الافتراضي بـ spark.authenticate=falseالأسئلة الشائعة: بحسب التصميم. ليست هذه البقية.
Mesos RESTأُزيل في Spark 4.0.
الافتراضي في CLI spark-submitلا يزال يستخدم RPC 7077 (useRest افتراضه النصي false). --kill / --status على spark:// يستخدمان REST دائمًا. البقية هي مستمع الخادم.

كيف وجدتها

كان الإصلاح البرمجي لـ CVE-2018-11770 (SPARK-25088) هو: REST معطّل افتراضيًا، وrequire أن يفشل Master بشكل آمن إذا تم تعيين spark.authenticate.secret بينما REST مفعّل. هذا الإصدار:

تنزيل الأداة