
CVE-2026-23499 - Saleor anfällig für gespeichertes XSS durch uneingeschränkten Datei-Upload
| Feld | Details |
|---|---|
| CVE-ID | CVE-2026-23499 |
| Schweregrad | HOCH |
| Advisory | Advisory anzeigen |
| Entdeckt von | Lukasz Rybak |
Saleor erlaubte authentifizierten Staff-Benutzern oder Apps, beliebige Dateien hochzuladen, einschließlich bösartiger HTML- und SVG-Dateien, die JavaScript enthalten. Abhängig von der Bereitstellungsstrategie können diese Dateien ohne Einschränkungen von derselben Domain wie das Dashboard ausgeliefert werden, was zur Ausführung bösartiger Skripte im Kontext des Browser des Benutzers führt.
Bösartige Mitarbeiter konnten Skript-Injection-Angriffe erstellen, um andere Mitarbeiter anzugreifen und möglicherweise deren Zugriffs- und/oder Refresh-Tokens zu stehlen.
Sie sind betroffen, wenn:
example.com/dashboard/ und Medien unter example.com/media/ – Sie sind nicht betroffen, wenn Mediendateien in einer anderen Domain gehostet werden, z. B. media.example.com.Content-Disposition: attachment-Header zurückgeben.Saleor-Cloud-Benutzer sind nicht betroffen.
Dieses Problem wurde in den Versionen 3.22.27, 3.21.43 und 3.20.108 behoben.
WICHTIG: Wenn Sie glauben, betroffen zu sein, oder sich unsicher sind bzw. es überprüfen möchten, führen Sie den folgenden Befehl aus:
$ ./manage.py remove_invalid_files
Dies scannt alle hochgeladenen Dateien (im Medienspeicher, z. B. im Dateisystem, einem S3-Bucket usw.). Sie sollten nach unerwarteten Dateien suchen. Wenn Sie Unterschiede sehen, dann entweder:
./manage.py remove_invalid_files --apply).Wir empfehlen dringend, auf die neuesten Versionen zu aktualisieren. Falls ein sofortiges Update nicht möglich ist, sind mögliche Workarounds:
Content-Disposition: attachment-Header zurückgeben. Dadurch werden Browser angewiesen, die Datei herunterzuladen, anstatt sie im Browser darzustellen.Content-Security-Policy für Mediendateien ein, z. B. Content-Security-Policy: default-src 'none'; base-uri 'none'; frame-ancestors 'none'; form-action 'none';main-Patch: https://github.com/saleor/saleor/commit/b3cb27b3fe96dae3c879063e56d32a9398eabd24Diese Sicherheitslücke wurde von Łukasz Rybak gemeldet.
Dieses CVE wurde im Rahmen koordinierter Offenlegungspraktiken (Coordinated Vulnerability Disclosure) verantwortungsvoll gemeldet. Die hier bereitgestellten Informationen dienen ausschließlich Bildungs- und Verteidigungszwecken.