Ang emergency patch para sa kasumpa-sumpa na kahinaan sa Java library na Log4j ay hindi palya. Ang Apache Software Foundation ay naglalabas ng bagong bersyon upang ayusin ang kahinaan minsan at para sa lahat.
Ang isang kahinaan sa isang sikat na library para sa Java ay nanginginig sa pandaigdigang IT landscape. Tinatantya na ang library ay umiiral sa karamihan ng mga corporate environment.
Pangunahing ginagamit ang Log4j para sa pag-log. Maaaring irehistro ang mga kaganapan sa mga aplikasyon gamit ang mga tala. Mag-isip ng isang printout ng mga detalye sa pag-login pagkatapos ng isang pagtatangka sa pag-login. O, sa kaso ng isang web application sa Java, ang pangalan ng browser na sinusubukang kumonekta ng isang user.
Ang mga huling halimbawa ay karaniwan. Sa parehong mga kaso, naiimpluwensyahan ng isang panlabas na user ang log na inilalabas ng Log4j. Posibleng abusuhin ang impluwensyang iyon. Ang mga log ng anumang bersyon ng Log4j sa pagitan ng Setyembre 13, 2013 at Disyembre 5, 2021 ay makakapagturo sa mga Java application na patakbuhin ang code mula sa isang malayuang server sa isang lokal na device.
Mula noong 2013, ang Log4j ay nagpoproseso ng isang API: JNDI, o Java Naming and Directory Interface. Ang pagdaragdag ng JNDI ay nagpapahintulot sa isang Java application na magpatakbo ng code mula sa isang malayong server sa isang lokal na device. Nagtuturo ang mga programmer sa pamamagitan ng pagdaragdag ng isang linya ng mga detalye tungkol sa malayong server sa isang application.
Ang problema ay hindi lamang mga programmer ang makakapagdagdag ng panuntunan sa mga application. Ipagpalagay na ang Log4j ay nag-log ng mga username ng mga pagtatangka sa pag-login. Kapag may pumasok sa nabanggit na linya sa field ng username, pinapatakbo ng Log4j ang linya at binibigyang-kahulugan ng Java application ang isang command upang patakbuhin ang code sa tinukoy na server. Ang parehong napupunta para sa mga kaso kung saan ang Log4j ay nag-log ng isang kahilingan sa HTTPS. Kung babaguhin mo ang isang pangalan ng browser sa linya, pinapatakbo ng Log4j ang linya, na hindi direktang nagtuturo dito na patakbuhin ang code ayon sa gusto.
Ang emergency patch ay maaari ding hindi ligtas
Noong Disyembre 9, ang kahinaan ay nahayag sa malaking sukat. Ang Apache Software Foundation, developer ng Log4j, ay naglabas ng emergency patch (2.15) upang ayusin ang kahinaan. Simula noon, naging pangunahing priyoridad para sa mga vendor ng software na iproseso ang bersyon 2.15 at magbigay ng patch para sa mga organisasyon.
Gayunpaman, ang organisasyong panseguridad na LunaSec ay nagsasaad na ang patch ay hindi ganap na hindi tinatablan ng tubig. Ito ay nananatiling posible upang ayusin ang isang setting at ang naka-log na JNDI na mga utos ay naisakatuparan.
Pakitandaan: dapat na manu-manong isaayos ang nauugnay na setting, para talagang ligtas ang mga hindi binagong variant ng 2.15. Gayunpaman, inirerekomenda ni Luna Sec na mag-update ang mga supplier at organisasyon sa Log4j 2.16. 2.16 ay inilathala ng Apache Software Foundation bilang tugon sa LunaSec. Ang bagong bersyon ay ganap na nag-aalis ng mahina na setting, na ginagawang imposibleng lumikha ng mga kundisyon para sa pang-aabuso.