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

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

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

सभी देखें →

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

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

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

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

Abraxas Labs - spark-proxyuser-classpath

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  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 जोड़ा। लॉन्चर हमेशा उस key को spark-submit JVM -cp में पहले जोड़ता है, क्लस्टर मोड सहित। SPARK-41958 इसे कभी नहीं देखता।

Livy-शैली का tenant अभी भी gateway spark-submit JVM के अंदर एक staged jar लोड कर सकता है। Hadoop UserGroupInformation.doAs उस Unix UID को नहीं बदलता।

IDअभी तक कोई CVE नहीं
वर्गविशेषाधिकार अवशेष (CVE-2023-22946 / SPARK-41958 का अवशेष)
पहुँचरिमोट (gateway पर 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-शैली gateway का प्रमाणीकृत tenant जो --conf और staged --jars को spark-submit --proxy-user ... --deploy-mode cluster में अग्रेषित करता है
लाइसेंसGNU Affero GPL v3.0
लैबकेवल 127.0.0.1:18950। Witness फ़ाइल। उद्धृत लॉन्चर / सबमिट वॉक का गैजेट।

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

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

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

स्वच्छ सबमिट के बाद Hadoop impersonation अभी भी YARN AM / k8s driver के लिए proxy user है। यह अवशेष केवल gateway JVM है।

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

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

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

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

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

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