
Prova de conceito de exploit para XenForo CVE-2026-73318, uma bypass de autorização que permite que administradores do ACP acionem o re-contrato de política em todo o site. Inclui etapas de reprodução e um script em Python.
XenForo anterior à versão 2.3.13 permite que qualquer administrador do ACP acione a reaceitação global da política de privacidade e dos termos em todo o site.
As entradas de navegação do ACP são limitadas a administradores com a permissão option, mas o ForceAgreementController não aplica essa permissão. Solicitações diretas de qualquer administrador autenticado do ACP alcançam ambos os formulários e suas ações POST que alteram o estado.
As ações atualizam os carimbos de data/hora globais das políticas. Usuários cuja aceitação registrada seja anterior a esses valores são forçados a passar pela respectiva etapa de concordância. A falha não permite que o administrador limitado edite o texto da política; ela permite que ele acione o fluxo de reaceitação em todo o fórum fora da função que lhe foi atribuída.
Reproduzi isso no XenForo 2.3.12 (build 2031270) com um administrador não-super que possuía apenas uma permissão de ACP não relacionada. A conta recebeu HTTP 403 do Options, mas HTTP 200 de ambas as rotas de força de concordância. O XenForo 2.3.13 contém a correção.
python poc.py https://xenforo.example LIMITED_ADMIN --confirm
A senha é lida com um prompt oculto. Isso altera dois carimbos de data/hora globais. Use um fórum isolado, registre os valores originais e restaure-os após o teste.
Descoberto por Marco Paciaroni (BomboBombone).