saverioriotto.it

Apache Log4j: scoperta vulnerabilità critica nella libreria

La Apache Software Foundation ha rilasciato un aggiornamento di sicurezza di emergenza per correggere una vulnerabilità zero-day in Log4j, una libreria Java che fornisce funzionalità di logging.

Apache Log4j: scoperta vulnerabilità critica nella libreria

La patch, parte della versione 2.15.0, risolve una vulnerabilità legata all'esecuzione di codice in modalità remota (CVE-2021-44228), completa di codice proof-of-concept.

La vulnerabilità, soprannominata anche Log4Shell, può essere sfruttata costringendo app e server basati su Java, in cui è stata utilizzata la libreria Log4j, a registrare una stringa specifica nei propri sistemi interni.

Secondo un guasto tecnico pubblicato ieri dalla società di sicurezza LunaSec, quando l'app o il server elabora i registri, questa stringa può costringere il sistema vulnerabile a scaricare ed eseguire uno script dannoso da un dominio controllato da un aggressore, rilevando efficacemente l'applicazione/server vulnerabile.

Con un punteggio di 10/10 sulla scala di gravità CVSSv3, Log4Shell è il peggiore in termini di falle di sicurezza, essendo sfruttabile da remoto e richiedendo poche abilità tecniche per l'esecuzione.

Criticità della vulnerabilità

Scoperta durante un impiego di bug bounty contro i server Minecraft, la vulnerabilità è molto più impattante di quanto alcuni potrebbero aspettarsi, principalmente a causa della presenza quasi onnipresente di Log4j in quasi tutte le principali app e server aziendali basati su Java.

Ad esempio, Log4j è incluso in quasi tutti i prodotti aziendali rilasciati dalla Apache Software Foundation, come Apache Struts, Apache Flink, Apache Druid, Apache Flume, Apache Solr, Apache Flink, Apache Kafka, Apache Dubbo e forse molti altri.

Inoltre lo usano anche altri progetti open source come Redis, ElasticSearch, Elastic Logstash, Ghidra della NSA e altri.

Naturalmente, tutte le aziende che utilizzano uno di questi prodotti sono anche indirettamente vulnerabili all'exploit Log4Shell, anche se alcune di loro potrebbero esserne consapevoli o meno.

Come mitigare gli attacchi

Secondo p0rz9, il ricercatore di sicurezza cinese che per primo ha pubblicato il codice exploit online, CVE-2021-44228 può essere sfruttata solo se l'opzione log4j2.formatMsgNoLookups nella configurazione della libreria è impostata su false.

In una conversazione, Heige, fondatore e CEO della società di sicurezza cinese KnownSec 404 Team e uno dei primi ricercatori a comprendere l'impatto della vulnerabilità, ha dichiarato che la versione di Log4j 2.15.0 imposta sostanzialmente questa opzione su true per bloccare gli attacchi.

Gli utenti di Log4j che si aggiornano alla versione 2.15.0 ma poi reimpostano questo flag su false rimarranno vulnerabili agli attacchi. Allo stesso modo, gli utenti di Log4j che non possono aggiornare ma impostare il flag su true possono bloccare gli attacchi anche su versioni precedenti.

Purtroppo, questa opzione è impostata su false per impostazione predefinita nelle versioni precedenti, il che significa che tutte le versioni precedenti di Log4j dalla 2.10.0, quando questa opzione è stata aggiunta, sono vulnerabili per impostazione predefinita.

Secondo i rapporti delle società di sicurezza Bad Packet e Greynoise, diverse app potrebbero essere vulnerabili all'attacco Log4Shell, il che significa che i proprietari dei server avranno a disposizione una finestra di patch molto piccola prima che i server inizino a essere sottoposti a backdoor.




Commenti
* Obbligatorio