
CVE-2022-22965\Spring-Core-RCE paragonabile alla vulnerabilità Apache Log4j2 di livello bomba nucleare, sfruttamento RCE con un clic tramite exp.
Spring-Core-RCE è uno sfruttamento RCE一键 paragonabile per gravità alla vulnerabilità nucleare Apache Log4j2
Recentemente, nella issue ufficiale di Spring su GitHub, è stata menzionata una vulnerabilità di esecuzione remota di comandi in Spring Core, ampiamente presente nel framework Spring e nei framework derivati.

Spring Core è un toolkit della famiglia di prodotti Spring responsabile della scoperta, creazione e gestione delle relazioni tra bean. È un pacchetto di utilità di base che contiene il nucleo fondamentale del framework Spring e tutti gli altri componenti Spring devono utilizzarlo.
Un attaccante non autenticato può utilizzare questa vulnerabilità per eseguire codice arbitrario da remoto. La vulnerabilità è ampiamente presente nel framework Spring e nei framework derivati e colpisce JDK 9.0 e versioni successive. I prodotti che utilizzano versioni precedenti di JDK non sono interessati. Si consiglia alle aziende esposte a questa vulnerabilità di bloccare a livello di firewall le richieste contenenti stringhe speciali, al fine di evitare attacchi basati su questa vulnerabilità.


docker run -d -p 8080:8080 vulfocus/spring-core-rce-2022-03-29:latest



Visitare http://127.0.0.1:8080/tomcatwar.jsp?pwd=j&cmd=whoami

Il framework Spring e i framework derivati sono interessati (è richiesto JDK 9.0 o versioni successive).
Secondo gli ultimi dati del sistema FOFA (dati relativi a un anno), a livello globale (con la precedente query FOFA) ci sono 7.023.506 servizi esposti pubblicamente. La Cina è il paese con il maggior numero di servizi, con 2.987.121; gli Stati Uniti sono secondi con 1.215.955; il Brasile terzo con 381.319; la Corea del Sud quarta con 219.201; la Germania quinta con 213.097.
La distribuzione globale è la seguente (solo distribuzione, non indica l'impatto effettivo della vulnerabilità)
Aggiornare la versione di Spring Framework
Spring Framework == 5.3.18
Spring Framework == 5.2.20
È possibile aggiungere al WAF le seguenti regole per filtrare le stringhe di input speciali:
Class.*
class.*
*.class.*
*Class.*
È possibile cercare l'annotazione @InitBinder nel codice del prodotto interessato e verificare se nel corpo del metodo è presente il metodo dataBinder.setDisallowedFields. Se presente, aggiungere alla blacklist le seguenti regole di filtro:
Class.*
class.*
*.class.*
*Class.*
[1] https://github.com/spring-projects/spring-framework/issues/27483
[2] https://github.com/google/tsunami-security-scanner-plugins/issues/234