Pronta la seconda patch contro Log4Shell, ma la vulnerabilità è ancora diffusa

Apache ha lavorato a due patch per mitigare la falla presente nella libreria Java Log4j, ma sono ancora tantissimi i software vulnerabili.

Avatar di Rodrigo Boschi

a cura di Rodrigo Boschi

La scoperta nella prima metà del mese di dicembre della vulnerabilità identificata col nome Log4Shell ha scosso in profondità il mondo dell’informatica. Molti esperti di cyber security non hanno esitato a definirla la falla più grave della storia e attualmente ne è stato documentato l’uso in oltre un milione di attacchi, anche da parte di gruppi hacker appoggiati dal governo cinese.

Le società attive nel settore come Microsoft, Google, Amazon, Cisco ed IBM sono corse ai ripari rilasciando dei fix per i loro prodotti vulnerabili e anche il mondo open source non è stato a guardare, con Apache Software Foundation che ha rilasciato nella giornata di mercoledì la patch 2.16, che doveva mitigare i rischi di potenziali attacchi DoS (Denial of Service). Sfortunatamente la soluzione si è rivelata poco efficace, come indicato da Akamai Technologies e da altri ricercatori anonimi.

La Apache Software foundation ha confermato la scoperta dichiarando: "Apache Log4j2 dalle versioni 2.0-alpha1 alla 2.16.0 non proteggeva dalla ricorsione incontrollata da lookup autoreferenziali. Quando la configurazione di log utilizza un Pattern Layout non predefinito con un Context Lookup (per esempio, $${ctx:loginId}), gli aggressori con il controllo sui dati di input Thread Context Map (MDC) possono creare dati di input dannosi che contengono un lookup ricorsivo, causando uno StackOverflowError che termina il processo. Questo è anche conosciuto come un attacco DoS (Denial of Service)"

Per questo motivo la fondazione ha prontamente rilasciato la patch 2.17.0 nella giornata di venerdì, con l’intento di risolvere il problema dei lookup autoreferenziali. Le mitigazioni della patch 2.17.0 includono la sostituzione dei Context Lookups, come ${ctx:loginId} o $${ctx:loginId}, con i pattern Thread Context Map (%X, %mdc, o %MDC) in PatternLayout nella configurazione dei log.

Apache ha anche suggerito di rimuovere i riferimenti ai Context Lookup nella configurazione, come ${ctx:loginId} o $${ctx:loginId}, quando provengono da fonti esterne all'applicazione come gli header HTTP o l'input dell'utente.

Mentre l’informatica corre ai ripari giungono conferme di utilizzo della vulnerabilità Log4Shell da ogni parte del mondo: James Wetter e Nicky Ringland, membri di Open Source Insights Team di Google, hanno dichiarato di aver trovato che 35.863 dei progetti Java disponibili su Maven Central dipendono da codice vulnerabile.

Vi segnaliamo inoltre il progetto Huntress Log4Shell Vulnerability Tester, volto a fornire uno strumento semplice e veloce per identificare software e siti vulnerabili a Log4Shell.