
Prova de conceito e relatório técnico para CVE-2026-73321, uma vulnerabilidade de negação de serviço no XenForo causada por BBCode profundamente aninhado que esgota os workers do PHP.
O XenForo anterior à versão 2.3.13 pode esgotar um worker PHP por meio de BBCode profundamente aninhado.
A rota pública editor/to-html envia BBCode fornecido pelo visitante através do parser e renderizador recursivos do XenForo. Ela não aplica um limite de comprimento bruto ou de aninhamento antes desse processamento. O caminho normal de preparação de mensagens também processa o BBCode antes da validação final do comprimento da mensagem.
Em uma instalação autorizada do XenForo 2.3.12 (build 2031270), uma única solicitação de visitante contendo 5.000 tags [quote] aninhadas (75.005 bytes) reiniciou a conexão. O Apache registrou uma saída por estouro de pilha do Windows (0xC00000FD) para o processo filho do PHP e o reiniciou.
Este repositório documenta deliberadamente apenas o comportamento mais restrito diretamente estabelecido pelo teste: uma solicitação não autenticada pode derrubar/reciclar um worker, e solicitações concorrentes repetidas podem reduzir a disponibilidade. Ele não alega execução de código, acesso a dados, persistência ou uma indisponibilidade permanente em todo o host. O XenForo 2.3.13 contém a correção.
python poc.py https://xenforo.example 5000 --confirm-disruption
O script envia exatamente uma solicitação e limita a profundidade a 5.000. Ele exige um reconhecimento explícito de interrupção. Execute-o apenas em uma instalação isolada enquanto monitora o log de erros do servidor web e a saúde dos processos.
Descoberto por Marco Paciaroni (BomboBombone).