Wpływ
Uwierzytelniony atakujący może wykonać dowolny kod PHP na podstawowym serwerze internetowym [S1]. Pozwala to na pełne naruszenie bezpieczeństwa systemu, w tym eksfiltrację danych, modyfikację zawartości witryny i boczne przemieszczanie się w środowisku hostingowym [S1].
Główna przyczyna
Luka występuje w składnikach kompozytora i kompilatora szablonów SPIP [S1]. System nie sprawdza prawidłowo ani nie oczyszcza danych wejściowych w określonych znacznikach szablonu podczas przetwarzania przesłanych plików [S1]. W szczególności kompilator niepoprawnie obsługuje spreparowane znaczniki INCLUDE lub INCLURE wewnątrz plików HTML [S1]. Gdy osoba atakująca uzyskuje dostęp do przesłanych plików za pomocą akcji valider_xml, złośliwe znaczniki są przetwarzane, co prowadzi do wykonania kodu PHP [S1].
Wersje, których dotyczy problem
- Wersje SPIP 3.1.2 i wszystkie wcześniejsze wersje [S1].
Naprawa
Zaktualizuj SPIP do wersji nowszej niż 3.1.2, aby usunąć tę lukę [S1]. Upewnij się, że uprawnienia do przesyłania plików są ściśle ograniczone do zaufanych użytkowników administracyjnych i że przesłane pliki nie są przechowywane w katalogach, w których serwer WWW może je wykonać jako skrypty [S1].
Jak FixVibe to testuje
FixVibe może wykryć tę lukę na dwa podstawowe sposoby:
- Pasywny odcisk palca: Analizując nagłówki odpowiedzi HTTP lub określone metatagi w źródle HTML, FixVibe może zidentyfikować działającą wersję SPIP [S1]. Jeśli wersja to 3.1.2 lub starsza, wygeneruje alert o wysokiej ważności [S1].
- Skanowanie repozytoriów: W przypadku użytkowników, którzy podłączają swoje repozytoria GitHub, skaner repozytoriów FixVibe może sprawdzać pliki zależności lub stałe definiujące wersję w kodzie źródłowym SPIP w celu zidentyfikowania podatnych instalacji [S1].
