Plugin Copypress Rest API dla WordPress (wersje 1.1–1.2) zawiera hardkodowany klucz podpisujący tokeny JWT, co umożliwia nieuwierzytelnionemu atakującemu sfałszowanie prawidłowego tokenu i przesłanie dowolnego pliku na serwer. Prowadzi to bezpośrednio do zdalnego wykonania kodu (RCE) bez konieczności posiadania jakichkolwiek uprawnień.
▸ Pokaż oryginał (EN)
The Copypress Rest API plugin for WordPress is vulnerable to Remote Code Execution via copyreap_handle_image() Function in versions 1.1 to 1.2. The plugin falls back to a hard-coded JWT signing key when no secret is defined and does not restrict which file types can be fetched and saved as attachments. As a result, unauthenticated attackers can forge a valid token to gain elevated privileges and upload an arbitrary file (e.g. a PHP script) through the image handler, leading to remote code execution.
Gdy w konfiguracji pluginu nie zdefiniowano własnego sekretu JWT, plugin korzysta z wbudowanego, hardkodowanego klucza podpisującego (CWE-321). Atakujący, znając ten klucz, może wygenerować własny, w pełni prawidłowy token JWT i uwierzytelnić się jako użytkownik z podwyższonymi uprawnieniami. Funkcja copyreap_handle_image() nie weryfikuje typów pobieranych i zapisywanych plików, co pozwala przesłać dowolny plik – np. skrypt PHP – jako załącznik. Po umieszczeniu skryptu na serwerze atakujący może go wywołać i wykonać dowolny kod w kontekście serwera WWW.
Nieuwierzytelniony atakujący może uzyskać pełną kontrolę nad serwerem WordPress, wykonując dowolny kod po stronie serwera (RCE), co może skutkować przejęciem strony, kradzieżą danych lub dalszym ruchem bocznym (lateral movement) w sieci.
Należy natychmiast zaktualizować plugin Copypress Rest API do wersji wyższej niż 1.2 lub usunąć go ze środowiska do czasu dostępności patcha. Szczegółowe informacje o dostępnych poprawkach należy sprawdzić w referencjach producenta (wordpress.org/plugins/copypress-rest-api) oraz w raporcie Wordfence.
Plugin Copypress Rest API dla WordPress w wersjach 1.1 oraz 1.2.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H