Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

फ़ीडसंपर्कगोपनीयता© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
spark-proxyuser-classpath — Apache Spark 4.2.0 - उच्च - रिमोट - विशेषाधिकार अवशेष - proxy-user defaultExtraClassPath | Kitploit
उपकरण/GitHubGitHub/abraxas/spark-proxyuser-classpath
विशेषाधिकार वृद्धिकंटेनर सुरक्षाभेद्यता विश्लेषणशोषणपेनिट्रेशन टेस्टिंगक्लाउड सुरक्षापेपर और शोधरेड टीमिंग
GitHubabraxas/spark-proxyuser-classpath

spark-proxyuser-classpath

Apache Spark 4.2.0 - उच्च - रिमोट - विशेषाधिकार अवशेष - proxy-user defaultExtraClassPath

रिपॉजिटरी देखें
147 दिन पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

Abraxas Labs - spark-proxyuser-classpath

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  spark-proxyuser-classpath

राइट-अप: https://abraxaslabs.tech/research/spark-proxyuser-classpath

spark-proxyuser-classpath

वर्ग: विशेषाधिकार अवशेष (CVE-2023-22946 / SPARK-41958 का अवशेष) पहुँच: रिमोट

Apache Spark 4.2.0 (32f72996) - Apache Software Foundation

CVE-2023-22946 / SPARK-41958 अभी भी spark.submit.proxyUser.allowCustomClasspathInClusterMode को डिफ़ॉल्ट रूप से false रखता है और --proxy-user क्लस्टर सबमिट पर अभी भी childClasspath.clear() चलाता है। यह सार्वजनिक YARN --jars पथ है। फिर Spark 4.0 ने spark.driver.defaultExtraClassPath जोड़ा। लॉन्चर हमेशा उस कुंजी को spark-submit JVM -cp में पहले जोड़ता है, जिसमें क्लस्टर मोड भी शामिल है। SPARK-41958 इसे कभी नहीं देखता।

Livy-शैली का टेनेंट अभी भी गेटवे spark-submit JVM के अंदर एक स्टेज किया गया jar लोड कर सकता है। Hadoop UserGroupInformation.doAs उस Unix UID को नहीं बदलता।

IDअभी तक कोई CVE नहीं
वर्गविशेषाधिकार अवशेष (CVE-2023-22946 / SPARK-41958 का अवशेष)
पहुँचरिमोट (गेटवे के माध्यम से Livy-शैली --proxy-user जॉब सबमिट)
CWECWE-269, CWE-427
CVSSउच्च: 8.8 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
उत्पादApache Spark
प्रभावितApache Spark 4.2.0 (32f7299601108917fb01920a54e084595b7b3bf8)
प्रमाणीकरणLivy / Kyuubi / Oozie-शैली गेटवे का प्रमाणीकृत टेनेंट जो --conf और स्टेज किए गए --jars को spark-submit --proxy-user ... --deploy-mode cluster में अग्रेषित करता है
लाइसेंसGNU Affero GPL v3.0
लैबकेवल 127.0.0.1:18950। साक्षी फ़ाइल। उद्धृत लॉन्चर / सबमिट वॉक का गैजेट।

हमलावर क्या कर सकता है

एक मल्टी-टेनेंट Spark गेटवे (Livy, Kyuubi, Oozie, और समान) पर टेनेंट खाता रखें जो सुपरयूज़र UID के रूप में spark-submit --proxy-user <tenant> --deploy-mode cluster चलाता है। एक jar स्टेज करें जिसे गेटवे JVM खोल सके। --conf spark.driver.defaultExtraClassPath=<staged jar> भेजें। SPARK-41958 गेट false रह सकता है। निर्मित spark-submit -cp फिर भी उस jar से शुरू होता है। इसमें मौजूद क्लासें गेटवे Unix UID के रूप में लोड होती हैं।

--conf spark.submit.proxyUser.allowCustomClasspathInClusterMode=true एक दूसरा रास्ता है: .internal() केवल दस्तावेज़ों के लिए है, --conf फिर भी कुंजी लिखता है, और तब YARN क्लस्टर --jars को childClasspath पर रखता है। सार्वजनिक CVE-2023-22946 YARN डिफ़ॉल्ट --jars पथ बना हुआ है जिसे clear() पहले से कवर करता है। यह अवशेष अनगेटेड defaultExtraClassPath है।

स्वच्छ सबमिट के बाद Hadoop प्रतिरूपण अभी भी YARN AM / k8s ड्राइवर के लिए प्रॉक्सी उपयोगकर्ता है। यह अवशेष केवल गेटवे JVM है।

विधिसिंकरेकॉनअखंडताउपलब्धताउद्गम
Livy-शैली सबमिट --proxy-user + yarn/k8s/standalone क्लस्टर + --conf spark.driver.defaultExtraClassPath=<staged local jar>, SPARK-41958 फ़्लैग false छोड़ा गयाSparkSubmitCommandBuilder.buildSparkSubmitCommand SparkSubmitCommandBuilder.java:317-327 -cp पहली प्रविष्टिगेटवे UID जिन फ़ाइलों को पढ़ सकता है उन्हें सूचीबद्ध/पढ़ें (keytab डिर, spark-defaults, स्थानीय स्टेजिंग)। बाद के RPC का Hadoop पहचान अभी भी प्रॉक्सी उपयोगकर्ता है।spark-submit JVM के अंदर टेनेंट क्लास लोड करें। Unix UID गेटवे (Hadoop प्रॉक्सी सुपरयूज़र) ही रहता है। लैब: defaultExtraClassPath-on-cp=yes childClasspath-cleared=yes lab.WitnessMain ने SPARK-PROXYUSER-CLASSPATH-WITNESS लिखा। सार्वजनिक CVE वर्ग से अनुमानित: उस UID के रूप में Hadoop Configuration संसाधन ओवरले / FileSystem impl लुकअप।यदि ओवरले थ्रो करता है तो सबमिट JVM क्रैश। क्लास नहीं।लैब-प्रमाणित लोड + निर्मित -cp के रूप में witness लेखन। Hadoop ओवरले अनुमानित। Livy/Kyuubi --conf पासथ्रू अनुमानित (वे ट्री इस पिन के नहीं हैं)।
वही सबमिट --conf spark.submit.proxyUser.allowCustomClasspathInClusterMode=true के साथ साथ --jars / प्राथमिक संसाधनSparkSubmit.prepareSubmitEnvironment SparkSubmit.scala:333-336,738-743,917-924 फिर runMain :980-987वॉक A जैसा ही रेकॉन, सिस्टम लोडर के बजाय चाइल्ड URLClassLoader पर।--jars को childClasspath पर रखें ताकि addJarToClasspath चले। लैब: conf-flag-keeps-jars=yes।वही।लैब-प्रमाणित childClasspath रखरखाव। सार्वजनिक YARN --jars पथ की पुनः-फाइलिंग नहीं जिसे फ़्लैग false रहने पर clear() कवर करता है।

लैब-प्रमाणित बनाम अनुमानित: निर्मित -cp में क्लस्टर मोड में defaultExtraClassPath शामिल है; डिफ़ॉल्ट फ़्लैग पर childClasspath.clear() अभी भी चलता है; क्लस्टर में spark.driver.extraClassPath छोड़ा गया है; फ़्लैग false के साथ --jars साफ़ किया जाता है; उस -cp पर एक witness क्लास ऑरेकल लिखती है। Hadoop config-class निष्पादन सार्वजनिक CVE-2023-22946 तंत्र है, यहाँ पुनः नहीं चलाया गया। Livy/Kyuubi द्वारा --conf अग्रेषण वही आर्किटेक्चर है जिसे वे प्रोजेक्ट दस्तावेज़ित करते हैं।

निकटवर्ती बंद (बढ़ा-चढ़ाकर न कहें)

विधिसिंकबंद रहता है
क्लस्टर मोड में --driver-class-path / spark.driver.extraClassPathSparkSubmitCommandBuilder.java:318-319spark-submit -cp में नहीं जोड़ा गया। लैब: extraClassPath-omitted=yes। क्लस्टर ड्राइवर को जाता है, जिसे YARN/K8s प्रॉक्सी उपयोगकर्ता के रूप में शुरू करते हैं।
डिफ़ॉल्ट क्लस्टर + --proxy-user + --jars बिना फ़्लैग पलटे और बिना defaultExtraClassPathSparkSubmit.scala:917-918 childClasspath.clear()YARN/standalone/k8s क्लस्टर चाइल्ड क्लासपाथ खाली। लैब: नियंत्रण वॉक पर childClasspath-cleared=yes। सार्वजनिक CVE-2023-22946 यही पथ बना हुआ है।
गेटवे पर --proxy-user क्लाइंट मोड ड्राइवरdocs/security.md प्रॉक्सी उपयोगकर्ता अनुभागदस्तावेज़ित: क्लाइंट-मोड ड्राइवर JVM सुपरयूज़र है। विक्रेता कहता है CVE नहीं। Livy/Kyuubi को क्लस्टर मोड बाध्य करने के लिए कहा गया है।
K8s क्लस्टर-मोड ड्राइवर कंटेनर (spark.kubernetes.submitInDriver=true) क्लासपाथ में . जोड़ता हैSparkSubmit.scala:420-431 SPARK-43540ड्राइवर पॉड के अंदर दूसरा spark-submit, Livy होस्ट नहीं। पॉड UID कंटेनर उपयोगकर्ता है।
क्लस्टर मोड में spark.driver.extraJavaOptionsSparkSubmitCommandBuilder.java:341-357spark-submit JVM पर लागू नहीं। SPARK_SUBMIT_OPTS गेटवे env है, टेनेंट --conf नहीं।
सबमिट किए गए ऐप का YARN AM / k8s ड्राइवरस्वच्छ सबमिट के बाद Hadoop प्रतिरूपणक्लस्टर लॉन्च के लिए अभी भी प्रॉक्सी उपयोगकर्ता। यह अवशेष केवल गेटवे JVM है।
अनॉथ जॉब सबमिट / Connect SQL / ML मॉडल लोडSECURITY.md FAQ / docs/ml-security.mdडिज़ाइन से। यह अवशेष नहीं।

मैंने इसे कैसे खोजा

टूल डाउनलोड करें