
Prueba de concepto y documentación técnica para CVE-2026-74239, una vulnerabilidad de path traversal en las importaciones de archivos de estilos de XenForo en Windows, que permite la escritura de archivos mediante un ZIP manipulado.
XenForo anterior a 2.3.13 es vulnerable a un path traversal en las importaciones de archivos de estilo en Windows.
El importador acepta miembros ZIP bajo upload/ y rechaza nombres que contienen la forma de barra diagonal /../. No normaliza ni rechaza las barras invertidas. XenForo luego añade el nombre del miembro retenido a su directorio temporal de extracción. Windows interpreta ..\ como un recorrido al directorio padre.
Un administrador de ACP no superusuario con el permiso style puede escapar del directorio temporal y escribir bytes en otra ruta escribible del servidor web. En mi instalación de prueba de XenForo 2.3.12 (build 2031270), un miembro manipulado escribió un nuevo archivo marcador PHP en la raíz pública web; al solicitarlo, se ejecutó el marcador constante como la cuenta del servidor web.
El requisito previo es una implementación en Windows con soporte ZIP de PHP y un administrador de estilos delegado. La prueba utiliza un nombre de archivo fijo nuevo, se niega a sobrescribir un archivo existente y no contiene ejecución de comandos. XenForo 2.3.13 contiene la corrección.
python poc.py https://xenforo.example LIMITED_STYLE_ADMIN --confirm-write
La contraseña se lee con un prompt oculto. Elimina style-archive-sentinel.php de la raíz web de prueba inmediatamente después de la ejecución.
Descubierto por Marco Paciaroni (BomboBombone).