CRITICAL🇬🇧 English

CVE-2025-14388

PhastPress WordPress Plugin — odczyt dowolnych plików przez null byte injection

CVSS 9.8v3.1pub. 2025-12-23upd. 2026-04-15

Wtyczka PhastPress do WordPress w wersjach do 3.7 włącznie zawiera krytyczną podatność umożliwiającą nieuwierzytelnionym atakującym odczyt dowolnych plików z serwera, w tym pliku wp-config.php. Podatność wynika z niespójności w walidacji rozszerzeń plików i jest szczególnie groźna, ponieważ nie wymaga żadnego uwierzytelnienia.

Pokaż oryginał (EN)

The PhastPress plugin for WordPress is vulnerable to Unauthenticated Arbitrary File Read via null byte injection in all versions up to, and including, 3.7. This is due to a discrepancy between the extension validation in `getExtensionForURL()` which operates on URL-decoded paths, and `appendNormalized()` which strips everything after a null byte before constructing the filesystem path. This makes it possible for unauthenticated attackers to read arbitrary files from the webroot, including wp-config.php, by appending a double URL-encoded null byte (%2500) followed by an allowed extension (.txt) to the file path.

🤖 Analiza AI
Jak działa

Podatność polega na niespójności między dwoma funkcjami przetwarzającymi ścieżki plików: `getExtensionForURL()` waliduje rozszerzenie na zdekodowanej ścieżce URL, natomiast `appendNormalized()` obcina ścieżkę przy napotkaniu null byte przed zbudowaniem rzeczywistej ścieżki systemowej. Atakujący może dołączyć do żądanej ścieżki podwójnie zakodowany null byte (`%2500`) a następnie dozwolone rozszerzenie (np. `.txt`), co powoduje że walidacja rozszerzenia jest spełniona, lecz system plików odczytuje plik wskazany przed null bytem. W efekcie możliwy jest dostęp do dowolnych plików w katalogu webroot bez jakiegokolwiek uwierzytelnienia.

Skutki

Nieuwierzytelniony atakujący może odczytać dowolne pliki dostępne z poziomu webroot, w tym krytyczny plik wp-config.php zawierający dane dostępowe do bazy danych, klucze tajne WordPress i inne wrażliwe dane konfiguracyjne, co może prowadzić do pełnego przejęcia aplikacji.

Mitygacja

Należy zaktualizować wtyczkę PhastPress do wersji wyższej niż 3.7. Zgodnie z dostępnymi referencjami poprawka została wprowadzona w changeset 3418139. Do czasu aktualizacji należy rozważyć tymczasowe wyłączenie wtyczki.

Kogo dotyczy

Wtyczka PhastPress dla WordPress we wszystkich wersjach do 3.7 włącznie.

Uwagi

Poprawka dostępna w repozytorium WordPress pod numerem changeset 3418139. Podatność sklasyfikowana jako CWE-158 (Improper Neutralization of Null Byte or NUL Character).

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
Auth Bypass
CWE
Referencje