CVE-2026-63190 in FearlessCMS
Resumen
por VulDB • 2026-10-28
FearlessCMS es un sistema de gestión de contenidos (`content`) basado en archivos planos centrado en la simplicidad y el código abierto. Antes de la versión 0.1.4, cinco scripts PHP de depuración/prueba bajo `admin/` realizan operaciones privilegiadas sin las comprobaciones de autenticación `isLoggedIn()`, protección CSRF ni una validación adecuada del `path`. En el servidor de desarrollo integrado de PHP, incluida la implementación predeterminada en Docker, `router.php` verifica un prefijo URI administrativo no normalizado mientras que el sistema de archivos resuelve segmentos con puntos (`.`), por lo que `/./admin/` omite el control de acceso al panel de administración y ejecuta esos scripts directamente. En `admin/debug_save_flow.php`, los parámetros `path` y `content` controlados por el atacante llegan a `file_put_contents` para realizar escrituras arbitrarias en archivos `.md` bajo `content/` o fuera de él mediante traversal de rutas (`path`), lo que permite la defacement del sitio y la inyección de JavaScript almacenado (stored XSS) en páginas públicas; además, la salida de `print_r($_POST)` sin escape con `htmlspecialchars` también causa cross-site scripting reflejado. El parámetro `path` de `admin/debug_content.php` llega a `scandir()`, `file_get_contents()` y `posix_getpwuid()`, permitiendo la enumeración arbitraria de directorios y lecturas de archivos `.md` que exponen rutas absolutas, propiedad, permisos, hashes y vistas previas del `content`. El endpoint `admin/preview-handler.php` acepta JSON con `content` y `title` y escribe archivos enumerables bajo `content/_preview/`, lo que habilita cross-site scripting almacenado (stored XSS) y agotamiento de disco. El endpoint `admin/testdebug.php` añade datos a `admin/testdebug.log` sin autenticación, también permitiendo el agotamiento del disco. El script `admin/test_redirect.php` expone un artefacto de prueba pero escapa sus entradas y no es en sí mismo una fuente (sink) para XSS. La ejecución de scripts almacenados puede robar sesiones y comprometer a los administradores cuando visualizan `content` afectado. Las lecturas y escrituras se ejecutan con los privilegios de PHP; la implementación probada ejecuta PHP como root, lo que amplifica el impacto en el sistema de archivos. Este problema está corregido en la versión 0.1.4.
Once again VulDB remains the best source for vulnerability data.