
Proof-of-concept exploit per XenForo CVE-2026-73318, un bypass dell'autorizzazione che consente agli amministratori ACP di attivare la ri-accettazione delle policy a livello di sito. Include passaggi di riproduzione e uno script Python.
XenForo precedente alla 2.3.13 consente a qualsiasi amministratore ACP di attivare la ri-accettazione a livello di sito dell'informativa sulla privacy e dei termini.
Le voci di navigazione ACP sono limitate agli amministratori con il permesso option, ma ForceAgreementController non applica tale permesso. Le richieste dirette da qualsiasi amministratore ACP autenticato raggiungono entrambi i moduli e le loro azioni POST che modificano lo stato.
Le azioni aggiornano i timestamp globali delle policy. Gli utenti la cui accettazione registrata precede tali valori vengono forzati attraverso il relativo gate di accettazione. Il bug non consente all'amministratore limitato di modificare il testo della policy; gli consente di attivare il flusso di ri-accettazione a livello di board al di fuori del ruolo assegnato.
Ho riprodotto il problema su XenForo 2.3.12 (build 2031270) con un amministratore non super che deteneva solo un permesso ACP non correlato. L'account ha ricevuto HTTP 403 da Options ma HTTP 200 da entrambe le route force-agreement. XenForo 2.3.13 contiene la correzione.
python poc.py https://xenforo.example LIMITED_ADMIN --confirm
La password viene letta con un prompt nascosto. Questo modifica due timestamp globali. Utilizza una board isolata, registra i valori originali e ripristinali dopo il test.
Scoperto da Marco Paciaroni (BomboBombone).