FearlessCMS Admin Debug Scripts Auth Bypass Allows File Writes and XSS
Worried this affects your website?
FearlessCMS, a flat-file content management system, is affected by an authentication bypass in five admin debug/test scripts before version 0.1.4. These scripts 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. The affected endpoints enable:
- admin/debug_save_flow.php: attacker-controlled path and content reach file_put_contents for arbitrary .md writes under content/ or outside it via path traversal, enabling site defacement and stored JavaScript in public pages; print_r($_POST) output without htmlspecialchars escaping also causes reflected cross-site scripting.
- admin/debug_content.php: the 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.
- admin/preview-handler.php: accepts JSON content and title and writes enumerable files under content/_preview/, enabling stored cross-site scripting and disk exhaustion.
- admin/testdebug.php: appends to admin/testdebug.log without authentication, also enabling disk exhaustion.
- admin/test_redirect.php: 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.
Reference: CVE-2026-63190 on NVD
← Back to Security News