Shopper: Unauthorized inventory stock manipulation via unlocked variant property in VariantStock component
Beschreibung
## Titel Unauthorized inventory stock manipulation via unlocked variant property in VariantStock component ## Beschreibung Ein Mangel an Autorisierungskontrolle wurde in der `stockAction()`-Methode in `packages/admin/src/Livewire/Components/Products/VariantStock.php` entdeckt. Die Komponente stellt eine `public $variant`-Eigenschaft ohne das `#[Locked]`-Attribut frei, so dass die Varianten-ID über die Livewire-Wire-Nutzlast clientveränderbar ist. Die `stockAction()` gibt eine Aktion ohne `->authorize(...)`-Kette zurück, was bedeutet, dass jede authentifizierte Admin-Panel-Sitzung, einschließlich browse-only-Mitarbeiter, die keine Bearbeitungsberechtigungen besitzen, diese Aktion aufrufen kann, um die Inventarebenen für jede Produktvariante anzupassen. Durch die Kombination aus fehlender Autorisierung und einer entsperrten Modellbindung kann der Angreifer sowohl das Berechtigungsgate umgehen als auch die Mutation auf eine beliebige Variante in der Datenbank umleiten. ## Severity CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H Score: 8.1 (High) ## Betroffene Dateien - `packages/admin/src/Livewire/Components/Products/VariantStock.php:34-91` ```php // Line 34 - ungeschützte, clientveränderbare Variante, die öffentliche $variante bindet; // Lines 36-91 - no ->authorize(...) on the Action public function stockAction(): Aktion
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: 2.9.2.
Empfohlene Schritte
- Betroffene Systeme identifizieren: shopper/framework.
- 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.