actionDuplicate with deleteProvisionalDraft side-effect deletes peer drafts
Beschreibung
`ElementsController::actionDuplicate()` akzeptiert einen `deleteProvisionalDraft`-Anforderungsparameter. Nach dem erfolgreichen Duplizieren eines Elements, wenn die Quelle ein vorläufiger Entwurf ist und dieses Flag gesetzt ist, ruft der Controller direkt `deleteElement($element)` auf, ohne eine `canDelete()`-Autorisierungsprüfung durchzuführen. Die doppelte Operation selbst wird durch `canDuplicateAsDraft()` getord, die nur für Entry `createEntries` prüft (keine `creatorId` oder `deletePeerEntryDrafts` Anforderung). Ein Benutzer mit `viewPeerEntryDrafts + createEntries` (aber nicht `deletePeerEntryDrafts`) kann den vorläufigen Entwurf eines anderen Benutzers duplizieren und löschen. ## Impact - Victim verliert ungespeicherten vorläufigen Entwurf (auto-saved work in progress). - Die "createEntries" (Erstellung von Inhalten) des Angreifers eskalieren zur nutzerübergreifenden Löschfähigkeit. Ein Duplikat wird als unveröffentlichter Entwurf des Angreifers erstellt - der Angreifer erhält den laufenden Inhalt des Opfers. ID des Berichts: 1541
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.10.11.
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.