Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
spark-proxyuser-classpath — Apache Spark 4.2.0 - Hoch - Remote - Privilegien-Rest - proxy-user defaultExtraClassPath | Kitploit
Tools/GitHubGitHub/abraxas/spark-proxyuser-classpath
Privilege EscalationContainer-SicherheitSchwachstellenanalyseExploitationPenetrationstestsCloud-SicherheitPapers & ForschungRed Teaming
GitHubabraxas/spark-proxyuser-classpath

spark-proxyuser-classpath

Apache Spark 4.2.0 - Hoch - Remote - Privilegien-Rest - proxy-user defaultExtraClassPath

Repository anzeigen
vor 1 TagNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Abraxas Labs - spark-proxyuser-classpath

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

spark-proxyuser-classpath

Klasse: Privilegien-Überbleibsel (Überbleibsel von CVE-2023-22946 / SPARK-41958) Reichweite: Remote

Apache Spark 4.2.0 (32f72996) - Apache Software Foundation

CVE-2023-22946 / SPARK-41958 setzt spark.submit.proxyUser.allowCustomClasspathInClusterMode weiterhin standardmäßig auf false und führt weiterhin childClasspath.clear() bei --proxy-user-Cluster-Submit aus. Das ist der öffentliche YARN---jars-Pfad. Spark 4.0 fügte dann spark.driver.defaultExtraClassPath hinzu. Der Launcher stellt diesen Schlüssel immer dem spark-submit-JVM--cp voran, auch im Cluster-Modus. SPARK-41958 sieht ihn nie.

Ein Mandant im Livy-Stil kann weiterhin ein bereitgestelltes Jar innerhalb der Gateway-spark-submit-JVM laden. Hadoops UserGroupInformation.doAs ändert diese Unix-UID nicht.

IDnoch keine CVE
KlassePrivilegien-Überbleibsel (Überbleibsel von CVE-2023-22946 / SPARK-41958)
ReichweiteRemote (Livy-artiger --proxy-user-Job-Submit über das Gateway)
CWECWE-269, CWE-427
CVSSHoch: 8.8 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
ProduktApache Spark
BetroffenApache Spark 4.2.0 (32f7299601108917fb01920a54e084595b7b3bf8)
Authauthentifizierter Mandant eines Livy- / Kyuubi- / Oozie-artigen Gateways, das --conf und bereitgestellte --jars an spark-submit --proxy-user ... --deploy-mode cluster weiterleitet
LizenzGNU Affero GPL v3.0
Labnur 127.0.0.1:18950. Witness-Datei. Gadget der zitierten Launcher- / Submit-Pfade.

Was ein Angreifer tun kann

Ein Mandantenkonto auf einem mandantenfähigen Spark-Gateway (Livy, Kyuubi, Oozie und Verwandte) besitzen, das spark-submit --proxy-user <tenant> --deploy-mode cluster als Superuser-UID ausführt. Ein Jar bereitstellen, das die Gateway-JVM öffnen kann. --conf spark.driver.defaultExtraClassPath=<staged jar> senden. Das SPARK-41958-Gate kann false bleiben. Das konstruierte spark-submit -cp beginnt weiterhin mit diesem Jar. Klassen darin werden als die Unix-UID des Gateways geladen.

--conf spark.submit.proxyUser.allowCustomClasspathInClusterMode=true ist ein zweiter Pfad: .internal() ist nur dokumentarisch, --conf schreibt den Schlüssel weiterhin, und der YARN-Cluster behält dann --jars auf childClasspath. Die öffentliche CVE-2023-22946 bleibt der YARN-Standard---jars-Pfad, den clear() bereits abdeckt. Dieses Überbleibsel ist das ungegatete defaultExtraClassPath.

Hadoop-Impersonation nach einem sauberen Submit ist weiterhin der Proxy-Benutzer für den YARN-AM / k8s-Treiber. Dieses Überbleibsel betrifft nur die Gateway-JVM.

MethodeSinkReconIntegritätVerfügbarkeitProvenienz
Livy-artiger Submit --proxy-user + yarn/k8s/standalone cluster + --conf spark.driver.defaultExtraClassPath=<staged local jar>, SPARK-41958-Flag bleibt falseSparkSubmitCommandBuilder.buildSparkSubmitCommand SparkSubmitCommandBuilder.java:317-327 -cp erster EintragDateien auflisten/lesen, die die Gateway-UID lesen kann (Keytab-Verzeichnis, spark-defaults, lokales Staging). Die Hadoop-Identität späterer RPCs ist weiterhin der Proxy-Benutzer.Mandanten-Klassen innerhalb der spark-submit-JVM laden. Die Unix-UID bleibt das Gateway (Hadoop-Proxy-Superuser). Lab: defaultExtraClassPath-on-cp=yes childClasspath-cleared=yes lab.WitnessMain schrieb SPARK-PROXYUSER-CLASSPATH-WITNESS. Abgeleitet aus der öffentlichen CVE-Klasse: Hadoop-Configuration-Ressourcen-Overlay / FileSystem-Impl-Lookup als diese UID.Submit-JVM-Absturz, wenn das Overlay eine Exception wirft. Nicht die Klasse.Lab-bewiesenes Laden + Witness-Schreiben als konstruiertes -cp. Hadoop-Overlay abgeleitet. Livy/Kyuubi---conf-Passthrough abgeleitet (diese Bäume sind nicht dieser Pin).
Derselbe Submit mit --conf spark.submit.proxyUser.allowCustomClasspathInClusterMode=true plus --jars / primäre RessourceSparkSubmit.prepareSubmitEnvironment SparkSubmit.scala:333-336,738-743,917-924 dann runMain :980-987Gleiches Recon wie Pfad A, auf dem Child-URLClassLoader statt dem System-Loader.--jars auf childClasspath behalten, damit addJarToClasspath läuft. Lab: conf-flag-keeps-jars=yes.Gleich.Lab-bewiesenes Beibehalten von childClasspath. Keine erneute Meldung des öffentlichen YARN---jars-Pfads, den clear() abdeckt, wenn das Flag false bleibt.

Lab-bewiesen vs. abgeleitet: konstruiertes -cp enthält defaultExtraClassPath im Cluster-Modus; childClasspath.clear() läuft weiterhin beim Standard-Flag; spark.driver.extraClassPath wird im Cluster weggelassen; --jars mit Flag false wird geleert; eine Witness-Klasse auf diesem -cp schreibt das Orakel. Die Ausführung der Hadoop-Config-Klasse ist der öffentliche CVE-2023-22946-Mechanismus, hier nicht erneut ausgeführt. Livy/Kyuubi, die --conf weiterleiten, ist die Architektur, die diese Projekte dokumentieren.

Angrenzend geschlossen (nicht aufblähen)

Tool herunterladen