Анализ на уязвимостта – CVE-2021-44228 (Log4Shell)– Apache Log4j – 10.12.2021

Уязвимост с висока степен на сериозност (CVE-2021-44228), засягаща множество версии на помощната програма Apache Log4j, беше разкрита публично чрез GitHub на 9 декември 2021 г. Уязвимостта засяга Apache Log4j версии 2.0 до 2.14.1.

Уязвимостта позволява неудостоверено отдалечено изпълнение на код.

Log4j е библиотека за регистриране на Java с отворен код, разработена от Apache Foundation, използва се широко в много приложения и присъства като зависимост в много услуги. Те включват корпоративни приложения, както и множество облачни услуги.

Уязвимостта е достъпна чрез множество специфични за приложението методи. На практика всеки сценарий, който позволява отдалечена връзка да доставя произволни данни, записани в регистрационни файлове от приложение, използващо библиотеката Log4j, е податлив на експлоатация. Тази уязвимост е много вероятно да бъде използвана свободно в интернет пространството и може да засегне хиляди организации. Тази уязвимост представлява значителен реален риск за засегнатите системи.

При анализа на CVE-2021-44228, се установи следното:

  • Инсталациите по подразбиране на широко използван корпоративен софтуер са уязвими.
  • Уязвимостта може да бъде използвана надеждно и без удостоверяване.
  • Уязвимостта засяга множество версии на Log4j.
  • Уязвимостта позволява дистанционно изпълнение на код като потребител, изпълняващ приложението, което използва библиотеката.

Въздействие

Библиотеката Log4j 2 се използва много често в корпоративния Java софтуер. Поради тази методология на внедряване въздействието е трудно да се определи количествено. Подобно на други високопрофилни уязвимости като Heartbleed и Shellshock, смятаме, че ще има все по-голям брой уязвими продукти, открити през следващите седмици. Поради лекотата на експлоатация и широчината на приложимостта, най-вероятно участниците в рансъмуера ще започнат да използват тази уязвимост незабавно.

Препоръка

Ако смятате, че може да бъдете засегнати от CVE-2021-44228, препоръчваме на всички организации да преглеждат регистрационните файлове за засегнати приложения за необичайна дейност. Ако бъдат открити аномалии, най-вероятно е активен инцидент и може да бъдете компрометирани, съответно трябва да реагирате незабавно.

Надстройката до коригираните версии на Log4j или засегнатите приложения ще премахне тази уязвимост. CERT България препоръчва на всяка организация, която смята, че може да бъде засегната, да актуализира спешно до коригирана версия.

Ако корекцията не е възможна, се препоръчва организациите да приложат временното смекчаване и да наблюдават внимателно засегнатите приложения за аномално поведение.

Да направитепроверка дали е имало опити за експлойтване на уязвимостта: https://gist.github.com/Neo23x0/e4c8b03ff8cdf1fa63b7d15db6e3860b

Или да използвате следния скрипт: https://github.com/Neo23x0/log4shell-detector

Проверка за узявимостта може да бъде извършена чрез OWASP Nettacker: (https://github.com/OWASP/Nettacker)

python3 nettacker.py -i owasp.org -m log4j_cve_2021_44228_vuln -o owasp.csv –skip-service-discovery

Актуализирайте Apache Log4j до версия 2.16.0, която премахва message lookups: https://logging.apache.org/log4j/2.x/download.html

Актуалзирайте при първа възможност, ако това не е възможно да изолирате системата или приложенията от интернет и/или да приложете следните мерки:

  • За версия >=2.10: променете log4j2.formatMsgNoLookups на true
  • За версии 2.0 до 2.10.0: може да махнете LDAP class от log4j чрез следната команда: zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class
  • За някои JVM версии, е възможно да настроите com.sun.jndi.rmi.object.trustURLCodebase и  com.sun.jndi.cosnaming.object.trustURLCodebase на false за мигитиране на уязвимостта.

Списък на засегнат и незасегнат софтуер

https://github.com/NCSC-NL/log4shell/tree/main/software

Ако използвате софтуер от този списък, който е засегнат Ви съветваме да следвате препоръките на производителя за мигитиране на проблема.

Повече информация:

https://www.randori.com/blog/cve-2021-44228/

https://www.lunasec.io/docs/blog/log4j-zero-day/