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-rest-auth-bypass — Apache Spark 4.2.0 - Hoch - Remote - Privilegien-Rest - Standalone-REST ignoriert spark.authenticate | Kitploit
Tools/GitHubGitHub/abraxas/spark-rest-auth-bypass
Privilege EscalationSchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsAuthentifizierungPapers & ForschungFehlkonfigurationRed TeamingLabs & Praxis
GitHub
3vor 2 TagenNoch 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/spark-rest-auth-bypass

spark-rest-auth-bypass

Apache Spark 4.2.0 - Hoch - Remote - Privilegien-Rest - Standalone-REST ignoriert spark.authenticate

Repository anzeigen

Abraxas Labs - spark-rest-auth-bypass

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

spark-rest-auth-bypass

Klasse: Privilegien-Überbleibsel Reichweite: Remote

Apache Spark 4.2.0 (32f72996) - Apache Software Foundation

Der Standalone-Master-REST-Dienst ist standardmäßig auf Port 6066 aktiv und liest spark.authenticate nie aus. CVE-2018-11770 versprach, REST standardmäßig zu deaktivieren und bei gesetztem RPC-Secret und aktiviertem REST fail-closed zu reagieren. Dieser Pin hat beides umgekehrt. MASTER_REST_SERVER_ENABLED ist createWithDefault(true). Filter sind nur MASTER_REST_SERVER_FILTERS, Standard Nil. Ein unauthentifiziertes POST /v1/submissions/create führt die main des Angreifers unter der Worker-UID aus. Der Worker injiziert _SPARK_AUTH_SECRET, sodass die Obergrenze „Driver ohne Executors" von 2018 nicht hält.

Dies ist ein Überbleibsel von 11770, keine neue CVE-2020-9480 RCE. RPC 7077 installiert weiterhin AuthServerBootstrap. Job-Submit auf einem Cluster mit spark.authenticate=false ist der dokumentierte Standard und nicht dieser Bug.

IDnoch keine CVE
KlassePrivilegien-Überbleibsel (Überbleibsel von CVE-2018-11770)
ReichweiteRemote (unauthentifiziertes HTTP zum Standalone-Master 6066)
CWECWE-306, CWE-287
CVSSHoch: 8.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
ProduktApache Spark
Betroffen4.2.0 (32f7299601108917fb01920a54e084595b7b3bf8) Standalone-Master-REST
Authkeine bei REST. Betreiber hat spark.authenticate=true gesetzt. REST auf Standard belassen.
LizenzGNU Affero GPL v3.0
Labnur 127.0.0.1:18900. Offizielles spark:4.2.0-Image.

Ich habe Tag v4.2.0 gepinnt, Peel 32f7299601108917fb01920a54e084595b7b3bf8 (2026-07-11, v4.2.0-rc6). Nicht master. Kein 4.3-RC.

Was ein Angreifer tun kann

Erreicht den Standalone-Master-REST auf 6066. Kein Authorization-Header. spark.authenticate ist aktiv. spark.master.rest.filters ist nicht gesetzt. Mindestens ein Worker ist live.

MethodeSinkPrivileg
Unauth POST /v1/submissions/createRequestSubmitDriver (Master.scala:402-420) dann Worker DriverWrapper classForName(mainClass).mainIntegrität (lab-belegt): mainClass des Angreifers unter der Worker-UID ausführen. Lab: Driver RUNNING, Witness-Datei.
Gleiches create; Worker CommandUtils.buildLocalCommandDriver-Env _SPARK_AUTH_SECRETIntegrität (lab-belegt): Driver kann per SASL dem authentifizierten RPC-Cluster beitreten. Lab: injected=yes.
Unauth GET /v1/submissions/status/{id}RequestDriverStatus (Master.scala:489-503)Recon (lab-belegt für die erzeugte id): Driver-Status / Worker-Host.
Unauth GET /v1/submissions/readyzRequestReadyzRecon (lab-belegt): Master nicht STANDBY.
Unauth POST /v1/submissions/kill/{id}RequestKillDriver (Master.scala:422-453)Integrität + Verfügbarkeit (abgeleitet): Standalone-Driver eines anderen Mandanten stoppen. Gleiche Unauth-Servlet-Verdrahtung; nicht ausgeführt.
Unauth POST /v1/submissions/killallRequestKillAllDrivers (Master.scala:455-478)Verfügbarkeit (abgeleitet): jeden wartenden/laufenden Standalone-Driver beenden. Nicht ausgeführt.
Unauth POST /v1/submissions/clearRequestClearCompletedDriversAndAppsIntegrität (abgeleitet): abgeschlossene Driver-/App-Buchführung verwerfen. Nicht ausgeführt.

Lab-belegt vs. abgeleitet: create, Secret-Injektion, Status der eigenen id und readyz sind Lab. Kill / killall / clear sind aus derselben Unauth-Servlet-Map abgeleitet.

Voraussetzungen: Standalone-Master (nicht YARN/K8s). Betreiber hat spark.authenticate=true gesetzt. REST auf Standard belassen (spark.master.rest.enabled true, spark.master.rest.filters nicht gesetzt). Netzwerkpfad zum Master 6066. Mindestens ein Worker. Nicht der dokumentiert-offene Cluster (spark.authenticate=false).

Angrenzende Angriffsfläche, die geschlossen bleibt

FlächeGrund
RPC 7077 mit spark.authenticate=trueAuthServerBootstrap weiterhin erforderlich. Der Receive-Pfad von CVE-2020-9480 bleibt geschlossen. Keine neue 9480-RCE.
JWSFilter, wenn gesetztspark.master.rest.filters=org.apache.spark.ui.JWSFilter plus secretKey. Tests 403 ohne JWT. Opt-in. Standard Nil.
UI doAserfordert weiterhin Admin. REST erbt keine UI-Filter.
CVE-2022-33891 UI-Shellid -Gn-argv-Überbleibsel auf diesem Pin geschlossen.
YARN / Kubernetes Submitdieser REST-Server ist nur Standalone-Master.
Standard-Job-Submit mit spark.authenticate=falseFAQ: by design. Nicht dieses Überbleibsel.
Mesos RESTin Spark 4.0 entfernt.
CLI spark-submit Standardnutzt weiterhin RPC 7077 (useRest string-defaults false). --kill / --status auf spark:// nutzen immer REST. Das Überbleibsel ist der Server-Listener.

Wie ich es gefunden habe

Der Code-Fix von CVE-2018-11770 (SPARK-25088) war: REST standardmäßig aus, und require Master fail-closed, wenn spark.authenticate.secret gesetzt ist, während REST an ist. Dieser Pin:

Tool herunterladen