CVE-2022-25845 è un difetto di sicurezza di elevata gravità (valutazione 8.1 su 10 sulla scala CVSS) nella nota libreria Fastjson che potrebbe essere utilizzata in attacchi di esecuzione di codice remoto.
Per fortuna, la vulnerabilità è già corretta. La vulnerabilità deriva dalla deserializzazione di dati non attendibili nella funzione AutoType, ed è stato corretto dai manutentori del progetto nella versione 1.2.83.
CVE-2022-25845 Dettagli tecnici
Secondo il ricercatore di sicurezza Uriya Yavnieli di JFrog, la vulnerabilità “è ancora avvolta nel mistero”. Quello che si sa è che interessa tutte le app Java che si basano sulle versioni Fastjson 1.2.80 o versioni precedenti, e versioni che trasmettono dati controllati dall'utente alle API JSON.parse o JSON.parseObject senza specificare una classe specifica da deserializzare.
“Ci sono a malapena dettagli tecnici pubblici al riguardo: chi è esattamente vulnerabile e in quali condizioni?,”Il ricercatore ha aggiunto.
Come da descrizione ufficiale, “Fastjson è una libreria Java che può essere utilizzata per convertire oggetti Java nella loro rappresentazione JSON. Può anche essere utilizzato per convertire una stringa JSON in un oggetto Java equivalente." La libreria può funzionare con oggetti Java arbitrari inclusi oggetti preesistenti per i quali gli sviluppatori non hanno codice sorgente.
Digitazione automatica, la funzione vulnerabile, è abilitato per impostazione predefinita. Specifica un tipo personalizzato durante l'analisi di un input JSON che può essere deserializzato in un oggetto della classe specifica.
Viene visualizzato un problema di sicurezza se il JSON deserializzato è controllato dall'utente, analizzandolo con AutoType abilitato. Questo può portare a una vulnerabilità di deserializzazione, poiché gli attori delle minacce possono “istanziare qualsiasi classe disponibile sul Classpath, e alimenta il suo costruttore con argomenti arbitrari,” il ricercatore ha spiegato nel suo resoconto tecnico.
I proprietari del progetto hanno aggirato la vulnerabilità introducendo una modalità provvisoria che disabilita AutoType. Hanno anche iniziato a mantenere un elenco di classi bloccate per proteggersi da tali problemi futuri. Tuttavia, CVE-2022-25845 ignora le restrizioni e può creare a esecuzione di codice remoto attacco.
Gli utenti Fastjson dovrebbero aggiornare alla versione 1.2.83 o abilitare SafeMode per disattivare la funzione ed evitare attacchi di deserializzazione.