
Prueba de concepto de exploit y análisis técnico para CVE-2026-73317, una omisión de autorización en XenForo que permite a administradores con permisos limitados aprobar contenido como otro usuario a través del despachador de reconstrucción de caché del ACP.
XenForo anterior a 2.3.13 permite que un administrador con solo el permiso de reconstrucción de caché envíe un trabajo de aprobación como otro usuario.
El endpoint de reconstrucción del ACP acepta una clase de trabajo y opciones proporcionadas por el llamante. Su comprobación de autorización solo pregunta si el trabajo elegido se declara a sí mismo como activable por el usuario. XF:ApprovalQueueProcess supera esa comprobación y acepta tanto una acción de aprobación como un valor asUserId.
El trabajo se ejecuta dentro de XF::asVisitor() como la cuenta seleccionada. Por lo tanto, un administrador con permisos limitados puede aprobar contenido en cola sin permiso de cola de aprobación ni de moderador, y el registro de moderación atribuye la acción al usuario suplantado.
Reproduje el caso mínimo en XenForo 2.3.12 (build 2031270): un administrador no superusuario con solo rebuildCache no podía abrir la cola de aprobación, pero aprobó un usuario moderado desechable mediante el trabajo oculto. XenForo 2.3.13 contiene la corrección.
python poc.py https://xenforo.example LIMITED_ADMIN AS_USER_ID DISPOSABLE_MODERATED_USER_ID --confirm
La contraseña se lee con un prompt oculto. El script realiza una aprobación que cambia el estado, por lo que use solo usuarios desechables y revise el registro de moderación después.
Descubierto por Marco Paciaroni (BomboBombone).