CVE-2026-34728

phpMyFAQ is an open source FAQ web application. Prior to version 4.1.1, the MediaBrowserController::index() method handles file deletion for the media browser. When the fileRemove action is triggered, the user-supplied name parameter is concatenated with the base upload directory path without any path traversal validation. The FILTER_SANITIZE_SPECIAL_CHARS filter only encodes HTML special characters (&, ', ", <, >) and characters with ASCII value < 32, and does not prevent directory traversal sequences like ../. Additionally, the endpoint does not validate CSRF tokens, making it exploitable via CSRF attacks. This issue has been patched in version 4.1.1.
Configurations

Configuration 1 (hide)

cpe:2.3:a:phpmyfaq:phpmyfaq:*:*:*:*:*:*:*:*

History

26 Oct 2026, 22:10

Type Values Removed Values Added
Summary
  • (es) phpMyFAQ es una aplicación web de preguntas frecuentes de código abierto. Antes de la versión 4.1.1, el método MediaBrowserController::index() gestiona la eliminación de archivos para el navegador de medios. Cuando se activa la acción fileRemove, el parámetro name proporcionado por el usuario se concatena con la ruta base del directorio de carga sin ninguna validación de salto de ruta. El filtro FILTER_SANITIZE_SPECIAL_CHARS solo codifica caracteres especiales HTML ( y , ’, ’, <, >) y caracteres con valor ASCII menor que 32, y no evita secuencias de salto de directorio como .. / . Además, el endpoint no valida los tokens CSRF, lo que lo hace explotable mediante ataques CSRF. Este problema ha sido parcheado en la versión 4.1.1.

Information

Published : 2026-04-02 15:16

Updated : 2026-10-26 22:10


NVD link : CVE-2026-34728

Mitre link : CVE-2026-34728

CVE.ORG link : CVE-2026-34728


JSON object : View

Products Affected

phpmyfaq

  • phpmyfaq
CWE
CWE-22

Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')