
Proof-of-Concept-Exploit und technische Dokumentation für CVE-2026-73317, eine Umgehung der Autorisierung in XenForo, die es eingeschränkten Administratoren ermöglicht, Inhalte als ein anderer Benutzer über den ACP-Cache-Neuaufbau-Dispatcher zu genehmigen.
XenForo vor Version 2.3.13 erlaubt es einem Administrator mit lediglich der Cache-Rebuild-Berechtigung, einen Genehmigungsauftrag als ein anderer Benutzer auszulösen.
Der ACP-Rebuild-Endpunkt akzeptiert eine vom Aufrufer übermittelte Job-Klasse und Optionen. Seine Autorisierungsprüfung fragt nur ab, ob der gewählte Job sich selbst als benutzerauslösbar deklariert. XF:ApprovalQueueProcess besteht diese Prüfung und akzeptiert sowohl eine Genehmigungsaktion als auch einen asUserId-Wert.
Der Job wird innerhalb von XF::asVisitor() als das ausgewählte Konto ausgeführt. Ein eingeschränkter Administrator kann daher wartende Inhalte ohne Genehmigungs-Warteschlangen- oder Moderator-Berechtigung genehmigen, und das Moderationsprotokoll schreibt die Aktion dem imitierten Benutzer zu.
Ich habe den Minimalfall auf XenForo 2.3.12 (Build 2031270) reproduziert: Ein Nicht-Super-Administrator mit nur rebuildCache konnte die Genehmigungs-Warteschlange nicht öffnen, genehmigte aber einen Wegwerf-Moderationsbenutzer über den versteckten Job. XenForo 2.3.13 enthält den Fix.
python poc.py https://xenforo.example LIMITED_ADMIN AS_USER_ID DISPOSABLE_MODERATED_USER_ID --confirm
Das Passwort wird mit einer versteckten Eingabeaufforderung gelesen. Das Skript führt eine zustandsändernde Genehmigung aus. Verwenden Sie daher nur Wegwerf-Benutzer und überprüfen Sie anschließend das Moderationsprotokoll.
Entdeckt von Marco Paciaroni (BomboBombone).