Ārkārtas ielāps bēdīgi slavenajai Java bibliotēkas Log4j ievainojamībai nav drošs. Apache Software Foundation izlaiž jaunu versiju, lai vienreiz un uz visiem laikiem novērstu ievainojamību.
Ievainojamība ļoti populārā Java bibliotēkā satricina globālo IT ainavu. Tiek lēsts, ka bibliotēka pastāv lielākajā daļā korporatīvo vidi.
Log4j galvenokārt izmanto reģistrēšanai. Pieteikumos notikumus var reģistrēt ar piezīmēm. Padomājiet par pieteikšanās informācijas izdruku pēc pieteikšanās mēģinājuma. Vai arī Java tīmekļa lietojumprogrammas gadījumā tās pārlūkprogrammas nosaukums, ar kuru lietotājs mēģina izveidot savienojumu.
Pēdējie piemēri ir izplatīti. Abos gadījumos ārējs lietotājs ietekmē žurnālu, ko izvada Log4j. Šo ietekmi ir iespējams izmantot ļaunprātīgi. Jebkuras Log4j versijas žurnāli laika posmā no 13. gada 2013. septembra līdz 5. gada 2021. decembrim var dot Java lietojumprogrammām norādījumus palaist kodu no attālā servera vietējā ierīcē.
Kopš 2013. gada Log4j apstrādā API: JNDI jeb Java nosaukumu un direktoriju saskarni. JNDI pievienošana ļauj Java lietojumprogrammai palaist kodu no attālā servera vietējā ierīcē. Programmētāji sniedz norādījumus, lietojumprogrammā pievienojot vienu rindiņu ar informāciju par attālo serveri.
Problēma ir tā, ka ne tikai programmētāji var pievienot noteikumu lietojumprogrammām. Pieņemsim, ka Log4j reģistrē pieteikšanās mēģinājumu lietotājvārdus. Kad kāds ievada iepriekš minēto rindiņu lietotājvārda laukā, Log4j palaiž šo rindiņu un Java lietojumprogramma interpretē komandu, lai palaistu kodu norādītajā serverī. Tas pats attiecas uz gadījumiem, kad Log4j reģistrē HTTPS pieprasījumu. Ja maināt pārlūkprogrammas nosaukumu uz rindiņu, Log4j palaiž rindiņu, netieši uzdodot tai palaist kodu pēc vajadzības.
Ārkārtas plāksteris var būt arī nedrošs
9. decembrī ievainojamība nāca gaismā plašā mērogā. Apache Software Foundation, Log4j izstrādātājs, izlaida avārijas ielāpu (2.15), lai novērstu ievainojamību. Kopš tā laika programmatūras pārdevējiem ir bijusi galvenā prioritāte apstrādāt versiju 2.15 un nodrošināt ielāpu organizācijām.
Tomēr drošības organizācija LunaSec norāda, ka plāksteris nav pilnībā ūdensnecaurlaidīgs. Joprojām ir iespējams pielāgot iestatījumu un izpildīt reģistrētās JNDI komandas.
Lūdzu, ņemiet vērā: attiecīgais iestatījums ir jāpielāgo manuāli, lai nepārveidotie 2.15 varianti patiešām būtu droši. Tomēr Luna Sec iesaka piegādātājiem un organizācijām atjaunināt uz Log4j 2.16. 2.16 publicēja Apache Software Foundation, atbildot uz LunaSec. Jaunā versija pilnībā noņem neaizsargāto iestatījumu, padarot neiespējamu radīt apstākļus ļaunprātīgai izmantošanai.