Entries Authorship Spoofing via Mass Assignment
Beschreibung
Beschreibung Der Entry-Erstellungsprozess ermöglicht **Massenzuweisung** des `authorId`-Attributs. Ein Benutzer mit der Berechtigung "Einträge erstellen" kann den Parameter "authorIds[]" (oder "authorId") in die POST-Anfrage einfügen, die das Backend verarbeitet, ohne zu überprüfen, ob der aktuelle Benutzer berechtigt ist, die Autorschaft anderen zuzuweisen. Normalerweise ist dieses Feld in der Anforderung für Benutzer ohne die erforderlichen Berechtigungen nicht vorhanden. Durch manuelles Hinzufügen dieses Parameters kann ein Angreifer den neuen Eintrag jedem Benutzer, einschließlich Admins, zuweisen. Dies "spoofs" effektiv die Urheberschaft. ## Proof of Concept ### Voraussetzungen - Ein Benutzerkonto mit der Berechtigung "Einträge erstellen" für einen Abschnitt. - Konto-ID des Opfers (z. B. `1` für den Standard-Admin). ### Schritte zum Reproduzieren 1. Melden Sie sich als Angreifer an 1. Navigieren Sie zum Abschnitt "Einträge" und klicken Sie auf "Neuer Eintrag" 1. Füllen Sie die erforderlichen Felder aus 1. Aktivieren Sie ein Proxy-Tool (z.B. Burp Suite) zum Abfangen von Anfragen 1. Klicken Sie auf "Speichern" & Abfangen der Anfrage 1. Fügen Sie im Request-Body einen neuen Parameter zu den Body-Params hinzu: `&authorIds[]=` 1. Weiterleiten der Request 1. Melden Sie sich als Admin / wie beim Opferkonto 1 an. Gehen Sie zu Einträgen & Beobachten, der neu erstellte Eintrag wird aufgelistet und der Autor ist das Opferkonto, nicht der eigentliche Schöpfer ## Auswirkungen - Ein Benutzer kann Einträge erstellen, die zu höher privilegierten Benutzern gehören, wodurch möglicherweise Überprüfungsprozesse umgangen oder Vertrauen auf der Grundlage falscher Urheberschaft gewonnen wird. - Ein Angreifer könnte bösartige oder unangemessene Inhalte veröffentlichen, die einem Administrator oder anderen vertrauenswürdigen Benutzern zugeschrieben werden. ## Referenzen https://github.com/craftcms/cms/commit/c6dcbdffaf6ab3ffe77d317336684d83699f4542 https://github.com/craftcms/cms/commit/830b403870cd784b47ae42a3f5a16e7ac2d7f5a8
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.17.0, 5.9.0.
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.