Luka w WP Rest Api WordPress 4.7.0 i 4.7.1

Używasz WordPress w wersji 4.7.0 lub 4.7.1? Zaktualizuj go do nowszej wersji!. Inaczej strona będzie podatna na atak w interfejsie REST API.

 

Twórcy WordPress od wersji 4.7 wprowadzili pełną wersje REST API, dzięki czemu zewnętrzne aplikacje mogą odczytywać publiczne treści dostępne na stronie. Jeżeli skonfigurujemy także autoryzację to również możliwe jest  modyfikowanie, dodawanie wpisów i stron. Oczywiście jest to bardzo dobra funkcjonalność ale niestety nie dopracowana.

Domyślnie taki interfejs jest włączony. Oznacza to tyle że każdy może odczytać takie wpisy. W Internecie jest mnóstwo serwisów, które odczytują treści bez wiedzy i zgody ich autorów i umieszczają na swoich stronach. O ile przy kanale RSS można ograniczyć takie artykuły do zajawki to przy REST API już nie.

 

Luka w WP REST API

Niedawno pojawił się błąd związany z rzutowaniem zmiennych w PHP który umożliwia edytowanie wpisu bez uprawnień. Na atak podatne są wersje 4.7.0 i 4.7.1. Oczywiście przypominamy że jest już wersja 4.7.2 także zachęcamy do aktualizacji!.

 

Wyłączenie REST API

Możemy także wyłączyć na stałe REST API jeżeli z niego nie korzystamy.

Wystarczy dodać do pliku functions.php następujący kod

add_filter('rest_authentication_errors', 'egeek_disable_rest_api', 99);

function egeek_disable_rest_api() {
   return new WP_Error('egeek_rest_api_disabled', 'REST API disables', array('status' => 403));
}

 

 

Moje początki programowania sięgają 2010r. W trakcie wielu projektów zdobywałem doświadczenie, rozwijając nie tylko umiejętności techniczne, ale także kompetencje miękkie. Programuje głównie w PHP i Python.