
Prueba de concepto y documento técnico para CVE-2026-73321, una vulnerabilidad de denegación de servicio en XenForo causada por BBCode profundamente anidado que agota los workers de PHP.
XenForo anterior a 2.3.13 puede agotar un worker de PHP mediante BBCode profundamente anidado.
La ruta pública editor/to-html envía BBCode proporcionado por invitados a través del parser y renderizador recursivo de XenForo. No aplica un límite de longitud bruta o de anidamiento antes de ese trabajo. La ruta normal de preparación de mensajes también procesa BBCode antes de su validación final de longitud de mensaje.
En una instalación autorizada de XenForo 2.3.12 (build 2031270), una sola solicitud de invitado que contenía 5.000 etiquetas [quote] anidadas (75.005 bytes) restableció la conexión. Apache registró una salida por desbordamiento de pila de Windows (0xC00000FD) para el proceso hijo de PHP y lo reinició.
Este repositorio documenta deliberadamente el comportamiento más acotado establecido directamente por la prueba: una solicitud no autenticada puede bloquear/reciclar un worker, y solicitudes concurrentes repetidas pueden reducir la disponibilidad. No afirma ejecución de código, acceso a datos, persistencia ni una interrupción permanente en todo el host. XenForo 2.3.13 contiene la corrección.
python poc.py https://xenforo.example 5000 --confirm-disruption
El script envía exactamente una solicitud y limita la profundidad a 5.000. Requiere un reconocimiento explícito de interrupción. Ejecútalo solo en una instalación aislada mientras supervisas el registro de errores del servidor web y el estado de los procesos.
Descubierto por Marco Paciaroni (BomboBombone).