Konferencja Mega Sekurak Hacking Party w Krakowie – 26-27 października!

Jak wtyczka do backupów w WordPress pozwalała na zdalne wykonanie kodu – CVE-2026-1357

16 lutego 2026, 13:51 | W biegu | 0 komentarzy

Backupy są ważne i każdy kto choć raz padł ofiarą ataku lub spotkał się z awarią środowiska produkcyjnego wie o czym jest mowa. Do wykonywania kopii zapasowych istnieje szereg rozwiązań, zarówno darmowych jak i komercyjnych. Coraz częściej można się również spotkać ze specjalistycznymi narzędziami, jakim jest np. popularny plugin WPvivid Backup & Migration, służący do backupów WordPress. I to właśnie ten dodatek (w wersji <= 0.9.123) posiadał krytyczną lukę bezpieczeństwa, umożliwiającą zdalne wykonanie kodu (RCE – Remote Code Execution) na serwerze użytkownika.

TLDR:

  • Badacz Lucas Montes (NiRoX) opublikowała na platformie X komunikat, opisujący lukę bezpieczeństwa w popularnym pluginie do WordPress WPvivid Backup & Migration (ponad 800 tys. pobrań).
  • Na skutek wykrytych błędów, możliwe było wykonanie RCE po stronie serwera.
  • Luka oznaczona jako CVE-2026-1357 otrzymała ocenę CVSS 9.8 (Critical).
  • Podatność została załatana w wersji 0.9.124.
  • Za wykryte znalezisko badacz otrzymał nagrodę (~$2k), w ramach programu Bug Bounty.

Badacz Lucas Montes (NiRoX) opublikował na platformie X (dawny Twitter) komunikat, w którym opisuje znalezisko wraz z demonstracją wykorzystania luki (PoC). Wykryty przez niego błąd został zaklasyfikowany jako krytyczna podatność typu Arbitrary File Upload (CVE-2026-1357) oraz otrzymał ocenę CVSS 9.8 (Critical).

Źródło: x.com

Za wykryte luki otrzymał nagrodę w ramach programu Bug Bounty wynoszącą ponad $2,000. Co ciekawe, błąd został wykryty zaledwie w ciągu 5 dni od publikacji zaktualizowanej wersji oprogramowania.

Na czym polegał błąd?

Analiza kodu ujawniła krytyczny błąd występujący w funkcji decrypt_message. Podczas, gdy wtyczka próbuje zdeszyfrować klucz sesji za pomocą algorytmu RSA i operacja ta kończy się niepowodzeniem, proces nie jest przerywany. Do funkcji AES przekazywana jest wartość logiczna false zamiast prawidłowego klucza szyfrującego. Biblioteka kryptograficzna interpretuje tę wartość jako ciąg bajtów zerowych (null bytes), co umożliwia atakującemu szyfrowanie ładunków przy użyciu zerowego klucza.

Funkcja decrypt_message z błędem walidacji parametru key. Źródło: wordfence.com

Atakujący może przygotować potencjalnie złośliwy ładunek, zaszyfrować go kluczem złożonym z samych 0x00 i przesłać na podatny serwer. Co więcej, wtyczka przyjmuje dowolne nazwy pliku, bez sanityzacji danych wejściowych, co w konsekwencji prowadzi do podatności typu directory traversal. W ten sposób cyberprzestępca może wyjść poza katalog przewidziany na kopie zapasowe i zapisać złośliwy ładunek w dowolnej lokalizacji WordPress.

Funkcja send_to_site z brakiem sanityzacji parametrów wejściowych użytkownika. Źródło: wordfence.com

Na skutek opisanych błędów, atakujący może przygotować złośliwy plik PHP (webshell), a następnie umieścić go na podatnym serwerze, poza katalogiem przygotowanym na backupy (wykorzystując directory traversal). W konsekwencji może to doprowadzić do wykonania dowolnego kodu (RCE) oraz przejęcie infrastruktury użytkownika.

Na aktualizację bezpieczeństwa nie trzeba było długo czekać. Zaledwie sześć dni po zgłoszenia, deweloperzy wydali poprawkę naprawiającą wykryte błędy. W przypadku algorytmu RSA, został wprowadzony dodatkowy warunek, sprawdzający czy klucz nie przyjmuje wartości false oraz nie jest nullem.

Poprawiona funkcja decrypt_message. Źródło: wordfence.com

Z kolei podatność directory traversal została wyeliminowana poprzez sanityzację parametrów wprowadzanych przez użytkownika.

Poprawiona funkcja send_to_site. Źródło: wordfence.com

Jak widać w powyższym przypadku, odpowiedni program Bug Bounty stanowi kluczowy element ekosystemu bezpieczeństwa. Motywuje niezależnych badaczy do pochylenia się nad danym  rozwiązaniem, szukaniem potencjalnych luk oraz odpowiedzialnym ujawnieniem wykrytych błędów. 

Warto podkreślić, że dodatek został pobrany ponad 800 tys. razy, a co za tym idzie duża część użytkowników mogła zostać dotknięta atakiem. Na szczęście szybka reakcja badacza NiRoX oraz zespołu Wordfence spowodowała wykrycie i naprawienie błędów zanim zostały wykorzystane przez atakujących (nie posiadamy informacji o użyciu podatności w realnych przypadkach ataku). 

Błędy zostały naprawione w wersji 0.9.124. 

Zachęcamy do jak najszybszej aktualizacji.

Badaczowi bezpieczeństwa gratulujemy i życzymy dalszych sukcesów. 

Źródło: wordfence.com, github.com/LucasM0ntes

~_secmike

Spodobał Ci się wpis? Podziel się nim ze znajomymi:



Komentarze

Odpowiedz