Zum Inhalt springen
← Zurück zum Cyberlagebild
Zuletzt aktualisiert 25.08.2026 03:40

Authorship spoofing in `entries/save-entry` via pre-check/post-mutation authorization gap

CVSS –1 Quelle

Beschreibung

### Zusammenfassung `EntriesController::actionSaveEntry()` führt Berechtigungsprüfungen für die Eingabe-Bearbeitung durch, bevor anfragegesteuerte Autorenänderungen auf das Modell angewendet werden. Der nachfolgende Autorenmutationspfad akzeptiert von Angreifern bereitgestellte Parameter "Autoren" / "Autor" und erlaubt die Änderung, wenn der aktuelle Benutzer einer der alten Autoren ist. Da der Controller die Autorisierung nach der Mutation der Autorenliste nicht erneut ausführt, kann ein niedrig privilegierter Benutzer die Autorschaft eines Eintrags einem anderen Benutzer zuweisen, ohne die dedizierte Peer-Author-Änderungsberechtigung zu besitzen. ### Details Der Kontrollfluss beginnt in [EntriesController.php](/D:/files/projects/cms-5.9.19/cms/controllers/EntriesController.php](/D:/files/projects/documents/controller.php):249. `actionSaveEntry()` lädt und erzwingt Bearbeitungsberechtigungen vor dem Aufruf von ` populateEntry()`: ``php public function actionSaveEntry()`: ``php public function actionSaveEntry()`: ``php entry->files/projects/cms-5.9.19/cms/controllers/EntriesController.php); ``` Entry::setAttributesParam('authors') ?? static::currentUser()->id, ?? $entry->quest->getAuthorId()`: ``php if ``s return true: ``php if ``($authorIds!== null || authorI Dies schließt die Exploit-Kette: 1. Externe Quelle: authentifizierte Anforderung an "Entries / Save-Entry" mit von Angreifern kontrollierten "Autoren"[] 2. Vertrauensgrenzenfehler: Die Autorisierung wird auf dem Vormutationseingangszustand überprüft, nicht auf der Postmutationsautorzuweisung. 3. Privileged sink: Die Beziehung des Autors wird im persistenten Speicher umgeschrieben. Von der Quelle abgeleitete Voraussetzungen: 1. Der Angreifer ist authentifiziert und kann den Eintrag '345' bearbeiten. 2. Der Angreifer gehört zu den bestehenden Autoren des Eintrags `345` oder befriedigt `canChangeAuthor()` durch das alte Autorenset. 3. Der Angreifer hat `viewPeerEntries` für den Abschnitt. 4. User ID `1` existiert und kann in diesem Abschnitt als Autor zugewiesen werden. Ergebnis: ..

HerstellerPixel & Tonic
ProduktCraft CMS
ProduktfamilieKeine Angaben
Betroffene Versionen≤ 5.9.21
Behobene Versionen5.9.21

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: 5.9.21.

PrioritätGrün
EinordnungPlanbar behandeln und überwachen.

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.