Zum Inhalt springen
← Zurück zum Cyberlagebild
Zuletzt aktualisiert 25.08.2026 10:30

Potential authenticated Remote Code Execution via malicious attached Behavior

CVSS 8.62 Quellen

Beschreibung

Beachten Sie, dass Sie Administratorzugriff auf die Craft Control Panel haben müssen, damit dies funktioniert. Benutzer sollten auf die gepatchten Versionen (5.8.21 und 4.16.17) aktualisieren, um das Problem zu beheben. Referenzen: https://github.com/craftcms/cms/commit/6e608a1a5bfb36943f94f584b7548ca542a86fef https://github.com/craftcms/cms/commit/27f55886098b56c00ddc53b69239c9c9192252c7 https://github.com/craftcms/cms/commit/ec43c497edde0b2bf2e39a119cded2e55f9fe593 https://github.com/craftcms/cms/blob/5.x/CHANGELOG.md#5821--2025-12-04 ### Summary Dies wurde am 7. August als Schwachstelle im Yii-Framework gemeldet (https://github.com/yiisoft/yii2/security/advisories/GHSA-gcmh-9pjj-7fp4). Das Yii-Framework-Team bestreitet die Verantwortung dafür (die Verantwortung für Anwendungsentwickler) und hat daher keine Lösung auf Framework-Ebene bereitgestellt (und wird dies anscheinend auch nicht tun). Daher berichte ich dies Craft, da ich festgestellt habe, dass es die neueste (`5.6.0`) Version von Craft CMS beeinflusst. Durch die Nutzung einer legitimen, aber böswillig gestalteten Yii `Behavior`-Klasse ist es möglich, Remote Code Execution (RCE) über Reflection auszulösen, wenn das verdorbene `Behavior` an eine Yii `Component` angehängt ist und ein Ereignis auch auf die verdorbene `Component` ausgelöst wird. ### Details Diese Sicherheitsanfälligkeit ist inspiriert von `CVE-2024-4990`, unterscheidet sich aber dadurch, dass eine legitime Yii `Behavior`-Klasse verwendet wird, um die magischen ` set()`- und ` get()`-Methoden zu missbrauchen, um ein willkürliches aufrufbares PHP auszulösen, was letztendlich zu RCE führt. Als solches umgeht dies die für "CVE-2024-4990" und die damit verbundenen "CVE-2024-58136" implementierten Abschwächungen. Mit der `as ` Syntax in JSON POST Input ist es möglich, [https://www.yiiframework.com/doc/guide/2.0/en/concept-behaviors#attaching-behaviors] `Behavior` Klassen an Yii `Components` anzuhängen, was die Crux der Schwachstelle war, die in `CVE-2024-4990` identifiziert wurde. Korrekturen für diese Sicherheitsanfälligkeit und die damit verbundene "CVE-2024-58136" stellten sicher, dass nur Klassen des Typs "Verhalten" an eine "Komponente" angehängt werden konnten. Craft CMS implementierte auch zusätzliche Logik, um zu verhindern, dass willkürliche „Verhaltensklassen an die anfällige „Komponente angehängt werden. Es wurde eine neue Sicherheitslücke identifiziert, die die Korrekturen für die vorherigen Sicherheitslücken umgeht, indem eine legitime, aber speziell gestaltete "Verhaltensklasse" verwendet wird, nämlich "yii\behaviors\AttributeTypecastBehavior". Durch das Anbringen eines "Verhaltens" dieses Typs kann der Angreifer eine beliebige aufrufbare Funktion definieren, die ausgelöst wird, wenn ein Ereignis auf die verdorbene "Komponente" ausgelöst wird. Die Verwendung eines [wildcard](https://www.yiiframework.com/doc/guide/2.0/en/concept-events#wildcard-events)-Ereignis-Listeners (angegeben als `on*` in JSON-Eingabe) ermöglicht es dem Angreifer, jedes Ereignis zu fangen, das auf der verdorbenen `Component` aufgerufen wird, und den Kontrollfluss umzuleiten, um `self::beforeSave` des `AttributeTypecastBehavior` aufzurufen, wodurch das vom Angreifer definierte Callable ausgelöst wird und RCE resultiert. Siehe die kommentierte Nutzlast unten: ```json

HerstellerPixel & Tonic
ProduktCraft CMS
ProduktfamilieCraft Cms
Betroffene Versionen≤ 5.8.20, ≤ 4.16.16
Behobene Versionen5.8.21, 4.16.17

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.8.21, 4.16.17.

PrioritätGelb
EinordnungZeitnah behandeln: hohes technisches Risiko.

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.