Java teegi Log4j kurikuulsa haavatavuse hädaparandus ei ole lollikindel. Apache Software Foundation annab välja uue versiooni, et haavatavus lõplikult parandada.
Java metsikult populaarse teegi haavatavus raputab ülemaailmset IT-maastikku. Arvatakse, et raamatukogu on enamikus ettevõtete keskkondades olemas.
Log4j kasutatakse peamiselt logimiseks. Rakendustes olevaid sündmusi saab registreerida märkmetega. Mõelge sisselogimisandmete väljatrükkile pärast sisselogimiskatset. Või Java-keelse veebirakenduse puhul brauseri nimi, millega kasutaja üritab ühendust luua.
Viimased näited on tavalised. Mõlemal juhul mõjutab väline kasutaja Log4j väljastatavat logi. Seda mõju on võimalik kuritarvitada. Mis tahes Log4j versiooni logid ajavahemikus 13. september 2013 kuni 5. detsember 2021 võivad anda Java rakendustele käsu käivitada koodi kohalikus seadmes asuvast kaugserverist.
Alates 2013. aastast on Log4j töötlenud API: JNDI ehk Java nime- ja kataloogiliidest. JNDI lisamine võimaldab Java-rakendusel käitada koodi kohalikus seadmes asuvast kaugserverist. Programmeerijad juhendavad, lisades rakenduses ühe rea üksikasju kaugserveri kohta.
Probleem on selles, et mitte ainult programmeerijad ei saa reeglit rakendustele lisada. Oletame, et Log4j logib sisselogimiskatsete kasutajanimed. Kui keegi sisestab kasutajanime väljale eelnimetatud rea, käivitab Log4j rea ja Java rakendus tõlgendab käsku, et käivitada kood määratud serveris. Sama kehtib ka juhtudel, kui Log4j logib HTTPS-i päringu. Kui muudate brauseri nime reaks, käivitab Log4j rea, juhendades seda kaudselt soovi korral koodi käivitama.
Hädaabiplaaster võib olla ka ohtlik
9. detsembril tuli haavatavus laialdaselt päevavalgele. Apache Software Foundation, Log4j arendaja, andis haavatavuse parandamiseks välja hädaolukorra paiga (2.15). Sellest ajast peale on tarkvaratootjate jaoks olnud esmatähtis versioon 2.15 töödelda ja organisatsioonidele plaastrit pakkuda.
Turvaorganisatsioon LunaSec aga teatab, et plaaster pole täiesti vettpidav. Jätkuvalt on võimalik sätteid reguleerida ja logitud JNDI käske täita.
Pange tähele: vastavat seadistust tuleb käsitsi reguleerida, et muutmata variandid 2.15 oleksid tõepoolest ohutud. Sellegipoolest soovitab Luna Sec tarnijatel ja organisatsioonidel uuendada versiooni Log4j 2.16. 2.16 avaldas Apache Software Foundation vastuseks LunaSecile. Uus versioon eemaldab haavatava sätte täielikult, muutes kuritarvitamiseks tingimuste loomise võimatuks.