10 grudnia, Apache Software Foundation opublikowało poprawki do krytycznej luki, która przez chwilę jako zero-day pustoszyła Internet. Podatność dotyczy biblioteki dzienników zdarzeń (ang. logging library) o nazwie Apache Log4j napisanej w języku Java, która jest bardzo szeroko stosowana w rozbudowanych środowiskach informatycznych. Luka jest bardzo prosta w użyciu i pozwala na wykonanie dowolnego kodu i tym samym całkowite przejęcie podatnych systemów.

Podatność śledzona jest jako CVE-2021-44228 oraz pod pseudonimami Log4Shell lub LogJam. Problem jest poważny, ponieważ pozwala każdemu nieuwierzytelnionemu użytkownikowi na zdalne wykonanie kodu (RCE) w dowolnej aplikacji korzystającej z tego narzędzia „open source” i dotyczy każdej wersji Log4j 2.0-beta9 aż do 2.14.1. Błąd uzyskał oczywiście wynik 10 na 10 w systemie oceny CVSS, co wskazuje na najwyższe ryzyko.

Atakujący, który może kontrolować komunikaty logów lub parametry komunikatów, jest w stanie wykonać dowolny kod ładowany z serwerów LDAP, gdy włączone jest ustawienie „message lookup substitution”. Fix polega na tym, że od wersji Log4j 2.15.0 to zachowanie zostało domyślnie wyłączone. Tutaj link do oficjalnego commita do otwartego kodu.

Eksploitację można osiągnąć za pomocą pojedynczego ciągu tekstu, który może sprowokować aplikacje do nawiązania kontaktu ze złośliwym hostem zewnętrznym, jeśli oczywiście jest obsługiwana przez podatną instancję Log4j. Daje to atakującemu możliwość pobrania ładunku ze zdalnego serwera i wykonania go lokalnie. Twórcy projektu przypisali wykrycie problemu Chen Zhaojunowi z Alibaba Cloud Security Team.

Sam Log4j jest używany jako pakiet generujący i rejestrujący logi w popularnych programach przez wielu producentów, w tym Amazon, Apple iCloud, Cisco, Cloudflare, ElasticSearch, Red Hat, Steam, Tesla, Twitter i gry wideo, takie jak Minecraft. W przypadku tego ostatniego atakujący mogli uzyskać RCE na serwerach Minecraft, po prostu wklejając specjalnie spreparowaną wiadomość do okna czatu 🙂


Największa powierzchnia ataku

Luka w Apache Log4j jest prawdopodobnie najbardziej krytyczną luką, jaką widzieliśmy w tym roku. Głównie przez to, że jest to wszechobecna biblioteka używana przez miliony aplikacji Java do rejestrowania komunikatów o błędach. Wykorzystanie tej luki jest tak proste, że zrobić to może tak naprawdę każdy.

Firmy zajmujące się cyberbezpieczeństwem, takie jak BitDefender, Cisco Talos, Huntress Labs i Sonatype potwierdziły masowe skanowanie zaatakowanych aplikacji w poszukiwaniu podatnych na ataki serwerów i ataków zarejestrowanych na ich sieci honeypot po udostępnieniu POC exploita.

GreyNoise, porównując błąd do Shellshock, powiedział, że zaobserwował złośliwą aktywność wymierzoną w lukę, która rozpoczęła się 9 grudnia 2021 r. Firma Cloudflare, zajmująca się infrastrukturą sieciową, zauważyła, że około 18:00 UTC zablokowała około 20 000 żądań exploitów na minutę, większość pochodzących z Kanady, USA, Holandii, Francji i Wielkiej Brytanii.

źródło: Cloudflare
źródło: GreyNoise

Podsumowanie

Biorąc pod uwagę łatwość eksploatacji i powszechność Log4j w sieciach IT i DevOps, oczekuje się, że ataki skierowane na podatne serwery będą się nasilać w nadchodzących dniach, co sprawia, że konieczne jest natychmiastowe zajęcie się usterką. Izraelska firma Cybereason, zajmująca się cyberbezpieczeństwem, również opublikowała poprawkę o nazwie „Logout4Shell”, która eliminuje niedociągnięcie, wykorzystując samą lukę w celu rekonfiguracji rejestratora i zapobiega dalszemu wykorzystywaniu w ataku.

Podatność w zabezpieczeniach Log4j (CVE-2021-44228) jest wyjątkowo złośliwa. Miliony aplikacji używają Log4j do rejestrowania komunikatów, a wszystko, co musi zrobić atakujący, to nakłonić aplikację do zarejestrowania specjalnego ciągu znaków. Dlatego właśnie, przez ostatnie oraz następne kilka dni w Internecie możemy obserwować największe, od bardzo dawna, wzmożenie aktualizacji systemów i aplikacji.

Podziel się z innymi tym artykułem!