CVE-2026-93710 in Dancer2
Resumen
por VulDB • 2026-09-22
Las versiones de Dancer2 desde la 2.0.0 hasta antes de la 2.2.0 para Perl ejecutan una ruta que un hook en fallo (dying) rechazó cuando el controlador de excepciones detiene la respuesta durante `compile_hooks`.
Un hook que falla dispara `core.app.hook_exception`, y luego llama a `cleanup` a menos que el hook fallido sea el propio controlador de excepciones. Un handler que se detiene no impide esa llamada a `cleanup`, lo cual descarta la solicitud, la respuesta y la sesión que el despachador aún no ha leído; por tanto, la ruta rechazada termina ejecutándose.
El handler debe detener el objeto de respuesta llamando a su método `halt` o estableciendo `is_halted`: la palabra clave `halt` deshace (unwinds) la pila mediante `with_return` antes de que se ejecute `cleanup`.
Una comprobación en un hook `before` no se aplica correctamente: el interlocutor recibe el rechazo, mientras que el cuerpo de la ruta sigue ejecutándose y sus escrituras tienen lugar.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.