Specjaliści z Ripstech właśnie opublikowali informację o błędzie bezpieczeństwa w WordPressie i co najgorsze: błędzie wciąż nienaprawionym także w najnowszym wydaniu WP. Od razu napiszę, że po przeczytaniu opisu, postanowiłem na szybko zrobić i opublikować wtyczkę, która przed tym błędem zabezpiecza.
Błąd jest niebezpieczny, bo pozwala nawet skasować całą posiadaną przez nas stronę. Jednak jak to często bywa, aby błąd wykorzystać, atakujący musi się znaleźć w pewnych konkretnych warunkach. W tym wypadku atakujący musi mieć konto na naszym WordPressie i musi mieć uprawnienia do usuwania mediów z biblioteki. W standardowym WordPressie będą więc to użytkownicy o rolach „administrator”, „edytor” lub „autor” (a w niestandardowych WordPressach musisz sam przejrzeć co nie nadałeś niektórym użytkownikom roli upload_files).
Taka osoba, gdy już zaloguje się do naszego WordPressa i odkryje, że ma dostęp do ekranu edycji obrazków, może wykorzystać błąd polegający na tym, że WordPress, po pobraniu z bazy (dokładnie z custom fields przypisanego do obrazka) informacji o miniaturce, dalej jej już nie filtruje. Używając konsoli javascript i inspektora stron może podmienić odnośnik do tego pliku na ścieżkę do dowolnego pliku na naszym serwerze. Jeśli poda tam ścieżkę do pliku wp-config.php, ten zostanie skasowany, a WordPress uruchomi mu konfigurator tak jakby to była nowa instalacja. Dalej, na przykład podając dane swojej bazy danych na innym serwerze, może całkowicie zastąpić treść naszej strony lub przejąć nad nią kontrolę.
Autorzy odkrycia zdecydowali się na publikację informacji o nim ze względu na fakt, że błąd zgłosili developerom WP już 7 miesięcy temu i do dziś nie został załatany.
Poza publikacją informacji o błędzie zamieścili też krótki fragment kodu, który należy dodać do naszego WordPressa (na przykład do pliku functions.php motywu) aby błąd załatać we własnym zakresie.
Ja pozwoliłem sobie ten fragment kodu ubrać we wtyczkę do WordPressa, którą możecie pobrać z mojego repozytorium na Githubie.
Komentarze
2 odpowiedzi na „Niezałatana dziura w najnowszym WordPressie: można kasować pliki na serwerze”
Dzięki Konrad,
Fakt, że musisz mieć dostęp do edycji mediów i wogóle do panelu admina, więc zagrożenia ogromnego nie ma, ale warto funkcję wdrożyć. Dzięki!
Czuwaj!
A ile dziur my jeszcze nie znamy? :)