
Prova de conceito de exploit e artigo técnico para CVE-2026-73317, uma bypass de autorização no XenForo que permite que administradores limitados aprovem conteúdo como outro usuário por meio do dispatcher de reconstrução de cache do ACP.
XenForo antes da versão 2.3.13 permite que um administrador com apenas a permissão de reconstrução de cache despache um trabalho de aprovação como outro usuário.
O endpoint de reconstrução do ACP aceita uma classe de trabalho e opções fornecidas pelo chamador. Sua verificação de autorização pergunta apenas se o trabalho escolhido se declara acionável pelo usuário. XF:ApprovalQueueProcess passa nessa verificação e aceita tanto uma ação de aprovação quanto um valor asUserId.
O trabalho é executado dentro de XF::asVisitor() como a conta selecionada. Um administrador limitado pode, portanto, aprovar conteúdo na fila sem permissão de fila de aprovação ou de moderador, e o log de moderação atribui a ação ao usuário personificado.
Reproduzi o caso mínimo no XenForo 2.3.12 (build 2031270): um administrador não superusuário com apenas rebuildCache não conseguia abrir a fila de aprovação, mas aprovou um usuário moderado descartável por meio do trabalho oculto. O XenForo 2.3.13 contém a correção.
python poc.py https://xenforo.example LIMITED_ADMIN AS_USER_ID DISPOSABLE_MODERATED_USER_ID --confirm
A senha é lida com um prompt oculto. O script realiza uma única aprovação que altera o estado, portanto use apenas usuários descartáveis e revise o log de moderação depois.
Descoberto por Marco Paciaroni (BomboBombone).