Miliony stron podatne na atak przez głupi błąd w PHP Mailerze (aktualizacja)

Aktualizacja Od kilku godzin dostępna jest kolejna łatka dla PHP Mailera. Minie jeszcze trochę czasu, zanim zostanie wdrożona, ale przynajmniej wygląda na to, że działa tak jak powinna.

Miliony stron podatne na atak przez głupi błąd w PHP Mailerze (aktualizacja)

To prawdziwy pogrom dla milionów właścicicieli stroninternetowych napisanych w PHP, w których wykorzystano bibliotekęPHPMailer. Wykorzystywany do automatyzacji wysyłania e-maili kodstosowany jest w najpopularniejszych systemach zarządzania treścią,takich jak WordPress, Joomla, Drupal, XOOPS, Mantis, vTiger, SugarCRMi wielu innych – a teraz okazało się, że można wykorzystać godo zdalnego uruchomienia złośliwego kodu na serwerze. Trzebaprzyznać, że informacja pojawiła się rychło w czas, to okresświąteczny. Łatka została co prawda wydana w święta, ale co ztego, skoro nie ma kto jej wdrożyć? Administratorzy, webmasterzy,wzięli sobie urlopy do Nowego Roku, tymczasem hakerzy robią swoje:już duże botnety skanują na wielką skalę witryny, wyszukująctej podatności, by przejąć kontrolę i zainstalować swoje własneexploit-kity dla internautów.

Błąd w PHPMailerze, oznaczony jako CVE-2016-10033, otrzymałłatkę 25 grudnia, wraz z wydaniem 5.2.18.I co z tego? Ano nic z tego. Nie tylko nie bardzo jest komu wdrożyćją na dużą skalę, ale też nie jest ona zbyt wielewarta.Wyjaśnijmy, o co chodzi, przyglądając się sprawie odpoczątku.

Odkrycie podatności było zasługą Dawida Golunskiego(legalhackers.com), który badając chyba najpopularniejszy naświecie kod do wysyłania e-maili przez skrypty PHP, znalazł w nimpodatność, pozwalającą na przeprowadzenie ataku przez popularnekomponenty stron – takie jak formularze kontaktowe czyrejestracyjne, narzędzia odzyskiwania hasła i wszystko inne to, cowykorzystuje klasę PHPMailer.

Atak wcale nie jest wyjątkowo skomplikowany. Otóż zawiodławalidacja danych przesyłanych do funkcji mail(), co pozwala nawstrzyknięcie dodatkowych parametrów do sendmaila. Odpowiednioprzygotowany zestaw parametrów pozwoli na przekazanie uruchamialnegokodu do tego demona poczty i zapisanie go do nowego skryptu naserwerze. Skrypt uruchomi się z uprawnieniami serwera WWW.

Dawid Golunski najwyraźniej rozumiał, że webmasterzy potrzebujączasu na załatanie stron, więc w początkowo przedstawionejinformacji o luce ominął wszelkie ważne szczegóły – te trafiłytylko do deweloperów projektu. Gdy jednak pojawiła się łatkaPHPMailera 5.2.18, inni badacze na jej podstawie odtworzyliszczegółowe informacje o luce. Na GitHubie znajdziecie gotowegoexploita, od razu dostarczonego w wygodnym kontenerze Dockera.

To jednak nie koniec. Kilka godzin temu Golunski poinformował,że przygotowana łatka jest niewiele warta. Wciąż możliwe jesttakie spreparowanie ciągu znaków dostarczonych w internetowymformularzu, by wyrwać się z ochrony zapewnianej przez funkcjęescapeshellarg() zastosowaną w łatce i wywołać sendmaila zeswoimi parametrami. Żadnego oficjalnego zabezpieczenia nie ma,strony internetowe przejmowane są ot tak, bez większego wysiłku.Jak odkrywca napisał, wygląda na to, że moja podatność możepopsuć Internet.

Looks like my vuln can break the Internet ;) #phpmailer #infosec https://t.co/bqAFuq7J8g

— Dawid Golunski (@dawid_golunski) 28 grudnia 2016Co robić, jak żyć?Łatka do łatki do CVE-2016-10033 już jest dostępna, pozostaje czekać na jej wdrożenie w popularnych aplikacjach webowych korzystających z PHPMailera. Zanim pojawią się aktualizacje, polecamy wyłączyć w witrynach wtyczki do obsługi formularzy kontaktowych, i jak już wcześniej pisaliśmy, zastanowić się, czy PHP jest dziś faktycznie najlepszym językiem do pisania aplikacji webowych.

Programy

Zobacz więcej
Wybrane dla Ciebie
Komentarze (136)