CVE-2026-63190
KrytyczneCVSS 9.4Streszczenie
W FearlessCMS przed wersją 0.1.4 pięć skryptów debug/test w katalogu admin/ wykonuje uprzywilejowane operacje bez uwierzytelnienia, ochrony CSRF i odpowiedniej walidacji ścieżek. Na wbudowanym serwerze PHP (w tym w domyślnym wdrożeniu Docker) można obejść bramkę logowania przez /./admin/ i uzyskać zapis plików .md, odczyt katalogów, XSS oraz wyczerpanie dysku.
Ocena ryzyka
Atakujący może zdeface'ować stronę, wstrzyknąć złośliwy JavaScript kradnący sesje administratorów oraz odczytać poufne informacje o systemie plików. Gdy PHP działa jako root, skutki mogą być znacznie poważniejsze.
Rekomendacja
Zaktualizuj FearlessCMS do wersji 0.1.4 lub nowszej. Do czasu aktualizacji zablokuj dostęp do skryptów debug/test w admin/ i nie uruchamiaj PHP jako root.
Inne podatności w FearlessCMS
Oryginalny opis (angielski, źródło NVD)
FearlessCMS is a flat-file `content` management system centered on simplicity and open source. Prior to version 0.1.4, five debug/test PHP scripts under `admin/` perform privileged operations without `isLoggedIn()` authentication checks, CSRF protection or adequate `path` validation. On PHP's built-in development server, including the default Docker deployment, `router.php` checks an unnormalized admin URI prefix while the filesystem resolves dot segments, so `/./admin/` bypasses the admin login gate and executes those scripts directly. In `admin/debug_save_flow.php`, attacker-controlled `path` and `content` reach `file_put_contents` for arbitrary `.md` writes under `content`/ or outside it through `path` traversal, enabling site defacement and stored JavaScript in public pages; `print_r($_POST)` output without `htmlspecialchars` escaping also causes reflected cross-site scripting. The `admin/debug_content.php` `path` parameter reaches `scandir()`, `file_get_contents()` and `posix_getpwuid()`, permitting arbitrary directory enumeration and `.md` file reads that expose absolute paths, ownership, permissions, hashes and `content` previews. The `admin/preview-handler.php` endpoint accepts JSON `content` and `title` and writes enumerable files under `content/_preview/`, enabling stored cross-site scripting and disk exhaustion. The `admin/testdebug.php` endpoint appends to `admin/testdebug.log` without authentication, also enabling disk exhaustion. The `admin/test_redirect.php` script exposes a test artifact but escapes its inputs and is not itself an XSS sink. Stored script execution can steal sessions and compromise administrators when they view affected `content`. Reads and writes execute with PHP's privileges; the tested deployment runs PHP as root, amplifying filesystem impact. This issue is fixed in version 0.1.4.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

