cbcvebase.
CVE-2020-9480
published 2020-06-23

CVE-2020-9480: In Apache Spark 2.4.5 and earlier, a standalone resource manager's master may be configured to require authentication (spark.authenticate) via a shared secret…

PriorityP187critical9.8CVSS 3.1
AVNACLPRNUINSUCHIHAH
ITWEXPLOITVulnCheck KEV
Exploited in the wild
EPSS
29.16%
98.0th percentile
In Apache Spark 2.4.5 and earlier, a standalone resource manager's master may be configured to require authentication (spark.authenticate) via a shared secret. When enabled, however, a specially-crafted RPC to the master can succeed in starting an application's resources on the Spark cluster, even without the shared key. This can be leveraged to execute shell commands on the host machine. This does not affect Spark clusters using other resource managers (YARN, Mesos, etc).

Affected

4 ranges
VendorProductVersion rangeFixed in
apachespark<= 2.4.5
apachespark
apache_software_foundationapache_spark
oraclebusiness_intelligence

Detection & IOCsextracted from sources · hover to see the quote

port6066
url/v1/submissions/create
otherorg.apache.spark.deploy.DeployMessages$RegisterApplication
otherorg.apache.spark.deploy.DeployMessages$RegisteredApplication
otherCreateSubmissionResponse
snort
alert tcp-pkt any any -> $HOME_NET any (msg:"ET EXPLOIT Apache Spark RPC - Unauthenticated RegisterApplication Request (CVE-2020-9480)"; flow:established,to_server; flowbits:isnotset,ET.ApacheSpark_AuthAttempted; flowbits:isnotset,ET.ApacheSpark_CE; flowbits:set,ET.ApacheSpark_UnauthRegisterApplication; content:"org.apache.spark.deploy.DeployMessages$RegisterApplication"; fast_pattern; reference:cve,2020-9480; reference:url,www.youtube.com/watch?v=EAzdGo-i8vE; reference:url,github.com/ayoul3/sparky/; classtype:attempted-admin; sid:2035003; rev:3; metadata:attack_target Server, created_at 2022_01_28, cve CVE_2020_9480, deployment Internal, deployment Datacenter, performance_impact Low, confidence High, signature_severity Major, updated_at 2024_03_14; target:dest_ip;)
snort
alert tcp-pkt $HOME_NET any -> any any (msg:"ET ATTACK_RESPONSE Apache Spark RPC - Unauthenticated RegisterApplication - Successfully Registered (CVE-2020-9480)"; flow:established,to_client; flowbits:isset,ET.ApacheSpark_UnauthRegisterApplication; content:"org.apache.spark.deploy.DeployMessages$RegisteredApplication"; fast_pattern; reference:cve,2020-9480; reference:url,www.youtube.com/watch?v=EAzdGo-i8vE; reference:url,github.com/ayoul3/sparky/; classtype:successful-admin; sid:2035004; rev:2; metadata:attack_target Server, created_at 2022_01_28, cve CVE_2020_9480, deployment Internal, deployment Datacenter, confidence Medium, signature_severity Major, updated_at 2022_01_28;)
  • Exploit HTTP POST targets the REST submission API endpoint /v1/submissions/create with a JSON body containing action 'CreateSubmissionRequest' and a remote JAR URL as appResource; no authentication credentials are required.
  • Successful exploitation response contains 'CreateSubmissionResponse' and either 'submissionId' or 'driverState' in the HTTP 200 body.
  • Network fingerprint for exposed vulnerable Spark Masters: FOFA query matches port 6066 with banner containing 'Spark Master'.
  • Unauthenticated RPC attack is detectable at the network layer by the presence of the RPC class string 'org.apache.spark.deploy.DeployMessages$RegisterApplication' in TCP payload to the Spark master port, without a prior auth attempt flowbit set.
  • Successful unauthenticated registration is confirmed when the server response contains 'org.apache.spark.deploy.DeployMessages$RegisteredApplication' after an unauthenticated RegisterApplication request was observed.
  • The exploit sets spark.master to point back to the target host on port 6066 within the sparkProperties JSON payload, confirming the attack vector.
  • ·The vulnerability only affects Apache Spark standalone resource manager deployments with spark.authenticate enabled. Clusters using YARN, Mesos, or other resource managers are NOT affected.
  • ·Authentication bypass only applies when spark.authenticate (shared secret) is configured on the standalone master; the attack bypasses this control entirely.
  • ·As a defense-in-depth mitigation, network access to Spark cluster machines should be restricted to trusted hosts even after patching.

CVSS provenance

nvdv3.19.8CRITICALCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
nvdv2.09.3CRITICALAV:N/AC:M/Au:N/C:C/I:C/A:C
vulncheck9.8CRITICAL
vendor_apache9.8HIGH
vendor_oracle9.8CRITICAL
vendor_redhat9.8CRITICAL
CVEs like this are exactly what “Exploited This Week” covers.

Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.