
Proof-of-Concept-Exploit für XenForo CVE-2026-73318, eine Umgehung der Autorisierung, die es ACP-Administratoren ermöglicht, eine standortweite erneute Zustimmung zu Richtlinien auszulösen. Enthält Reproduktionsschritte und ein Python-Skript.
XenForo vor 2.3.13 ermöglicht es jedem ACP-Administrator, die boardweite erneute Zustimmung zu Datenschutzrichtlinie und Nutzungsbedingungen auszulösen.
Die ACP-Navigationseinträge sind auf Administratoren mit der Berechtigung option beschränkt, aber ForceAgreementController erzwingt diese Berechtigung nicht. Direkte Anfragen von jedem authentifizierten ACP-Administrator erreichen beide Formulare sowie deren zustandsändernden POST-Aktionen.
Die Aktionen aktualisieren die globalen Richtlinien-Zeitstempel. Benutzer, deren aufgezeichnete Zustimmung vor diesen Werten liegt, werden durch das entsprechende Zustimmungs-Gate gezwungen. Der Fehler erlaubt es dem eingeschränkten Administrator nicht, den Richtlinientext zu bearbeiten; er ermöglicht es ihm lediglich, den boardweiten Workflow zur erneuten Zustimmung außerhalb seiner zugewiesenen Rolle auszulösen.
Ich habe dies auf XenForo 2.3.12 (Build 2031270) mit einem Nicht-Super-Administrator reproduziert, der nur eine nicht zusammenhängende ACP-Berechtigung besaß. Das Konto erhielt HTTP 403 von Options, aber HTTP 200 von beiden Force-Agreement-Routen. XenForo 2.3.13 enthält den Fix.
python poc.py https://xenforo.example LIMITED_ADMIN --confirm
Das Passwort wird mit einer versteckten Eingabeaufforderung gelesen. Dies ändert zwei globale Zeitstempel. Verwenden Sie ein isoliertes Board, notieren Sie die ursprünglichen Werte und stellen Sie sie nach dem Test wieder her.
Entdeckt von Marco Paciaroni (BomboBombone).