Missing authorization check allows non-admin control panel users to reorder Global Sets
Beschreibung
Die Aktion `reorder-sets` in Craft CMS `GlobalsController` fehlt die `requireAdmin()`-Überprüfung, die beide benachbarten `save-set`- und `delete-set`-Aktionen erzwingen. Jeder authentifizierte Bedienfeldbenutzer kann POST auf `/actions/globals/reorder-sets` und alle globalen Sets in der Projektkonfiguration dauerhaft neu ordnen, unabhängig davon, ob sie Administratorzugriff haben. Die Neuordnung wird bis zur Projektkonfiguration geschrieben und bleibt über Anfragen hinweg bestehen. ## Beschreibung `GlobalsController` zeigt drei administrative Aktionen zur Verwaltung der globalen Set-Struktur. Zwei von ihnen Gate auf Admin-Status; der dritte nicht. Voraussetzungen - Eine Craft CMS-Instanz mit mindestens zwei globalen Sets und einem Benutzerkonto für ein Nicht-Admin-Bedienfeld. ## Impact Ein Nicht-Admin-Benutzer kann alle globalen Sets neu ordnen. Während dies keine Inhalte offenlegt oder verändert, verändert die Neuordnung globaler Sets die Projektkonfiguration - ein versioniertes Artefakt, das typischerweise der Quellenkontrolle verpflichtet ist und in allen Umgebungen eingesetzt wird. Ein Angreifer kann Rauschen im Projektkonfigurationsverlauf erzeugen, Config-Sync-Konflikte auslösen oder die von allen Editoren im Admin-Panel angezeigte Anzeigereihenfolge manipulieren. Derselbe Nicht-Admin-Benutzer kann keine globalen Sets erstellen oder löschen, da diese Aktionen `requireAdmin()` korrekt erzwingen.
Quellen & weiterführende Informationen
Hier werden ausschließlich tatsächlich zu dieser Schwachstelle gespeicherte Quellenbelege angezeigt.
Was ist zur Behebung zu tun?
Auf eine behobene Version aktualisieren: 4.18.1, 5.10.3.
Empfohlene Schritte
- Betroffene Systeme identifizieren: Pixel & Tonic Craft CMS.
- Exposition prüfen: Internet-Erreichbarkeit, Admin-Oberflächen, VPN, Mail- oder Webdienste.
- Update/Rollout auf behobene Version vorbereiten und priorisiert einspielen.
- Nacharbeiten dokumentieren: betroffene Assets, Maßnahme, Zeitpunkt, Restrestrisiko.
Übergangsmaßnahmen
- Zugriff auf betroffene Dienste auf vertrauenswürdige Netze einschränken.
- WAF/IDS/EDR-Regeln und Hersteller-IOCs aktivieren, sofern verfügbar.
- Nicht benötigte Funktionen, Plugins oder Dienste temporär deaktivieren.
- Administrative Zugänge besonders absichern: MFA, Passwortrotation, Session-Invalidierung.