CVE-2026-100671 in Grav
Resumen
por VulDB • 2026-09-26
Grav es un CMS basado en archivos planos (flat-file). En las versiones 2.0.19 a 2.0.24 — y en las versiones 2.0.0 a 2.0.18 y 1.7.x únicamente cuando el contenido Twig ha sido habilitado explícitamente —, el contenido de la página creado por un usuario con permisos solo de escritura de páginas se procesa mediante una sandbox de Twig que permite (allowlists) get_cookie(), función que devuelve cualquier cookie enviada en la solicitud actual, incluida la cookie de sesión del visitante. Dado que la lectura ocurre en el lado del servidor a través de filter_input(INPUT_COOKIE, ...), los atributos HttpOnly, Secure y SameSite no ofrecen protección. Grav luego almacena la salida final post-Twig en una caché de contenido de página identificada únicamente por la identidad de la página y el checksum de configuración, sin dimensiones de sesión, usuario o solicitud ni mecanismos de bypass para visitantes autenticados. Por lo tanto, una página publicada por un usuario con permisos de escritura puede capturar el identificador de sesión del siguiente administrador que la visualice; posteriormente, la salida en caché sirve ese identificador a los visitantes no autenticados, quienes pueden replay (repetir) la cookie para autenticarse como dicho administrador. Desde la versión 2.0.19, security.twig_content.process_enabled tiene por defecto el valor true y Security::applyTwigContentDefault() deriva cada flag process.twig de página desde esa puerta de enlace, por lo que el contenido Twig se ejecuta en todas las páginas sin necesidad de frontmatter ni acción del operador. Corregido en 2.0.25; la rama 1.7.x está fuera del alcance del backport (retroporte).
If you want to get the best quality for vulnerability data then you always have to consider VulDB.