Średnia

Sulu: Stored XSS via media download inline-disposition override

  • Ujawniono: 02.09.2026
  • Aktualizacja: 11.10.2026 10:22

Impact

Stored Cross Site Scripting (XSS) in the media download endpoint.

The download route (/media/{id}/download/{slug} and its admin variant) accepts the query parameter ?inline=1. When it is present, the response is sent with the header Content-Disposition: inline for any MIME type, which overrides the disposition rules the server would otherwise apply. By default, HTML and other scriptable uploads are not blocked, the file is served on the application origin with its stored Content-Type, and no X-Content-Type-Options or Content-Security-Policy header is sent. Because of this, an attacker can upload an HTML file and build a link that runs their own JavaScript in the context of the Sulu origin.

Every installation where users who are not fully trusted can upload media is affected. This includes editors who hold the media add permission. Such an editor can store a payload that runs in the authenticated session of anyone who opens the link, including an administrator, which allows theft of the session and credentials and lets the attacker act as the victim.

The problem is present on the 2.6 and 3.0 branches and goes back to the introduction of the ?inline override in 2017. It is not the same as CVE-2024-47617, which was a reflected XSS through the slug and is already fixed.

Patches

Fixed in 2.6.25 and 3.0.8. The download route now forces Content-Disposition: attachment for MIME types a browser renders as a document (text/html, application/xhtml+xml, text/xml, application/xml), even when ?inline=1 is requested. Inline viewing is unchanged for safe types such as PDF and images.

Workarounds

Block scriptable uploads by MIME type through sulu_media.upload.blocked_file_types. This stops new uploads only, so existing media has to be reviewed separately.

yaml
sulu_media:
    upload:
        blocked_file_types: [text/html, application/xhtml+xml, image/svg+xml, text/xml, application/xml, text/javascript, application/javascript]

At the web server or reverse proxy, force Content-Disposition: attachment and add X-Content-Type-Options: nosniff and a restrictive Content-Security-Policy on the paths /media/*/download/* and /admin/media/*/download/*.

Serve uploaded media from a separate origin that does not share the application cookies.

Restrict the media upload permission to trusted users and keep the default SVG sanitizer enabled.

Czego dotyczy

Kliknij technologię, aby zobaczyć wszystkie dotyczące jej podatności.

PlatformaPaczkaPodatne wersjePoprawka w wersji
Paczka Composer sulu/sulu < 2.6.25, >= 3.0.0-alpha1, < 3.0.8 2.6.25, 3.0.8

Odnośniki

Ocena CVSS 5.4/10
Wektor CVSS
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
Słabość (CWE)
CWE-79
Platforma
Composer
Paczka
sulu/sulu
Ujawniono
02.09.2026
Aktualizacja
11.10.2026 10:22

Źródła i licencje

OSV / GitHub Advisory Database - GHSA-pp4x-ccxq-6r33 - CC BY 4.0

Historia podatności: sulu/sulu

Wszystkie opisane podatności tej paczki (Paczka Composer), od najnowszej. Widać, czy to jednorazowa wpadka, czy paczka, której trzeba pilnować.

Wszystkie (18) w archiwum
Wszystkich wpisów
18
Pierwsza → ostatnia
08.2020 09.2026
Bez poprawki
0
Wykorzystywana w atakach
0

Rozkład istotności

  • Wysoka 2
  • Średnia 14
  • Niska 2

Ujawnienia w latach

  1. 2020: 1
  2. 2021: 4
  3. 2022: 0
  4. 2023: 1
  5. 2024: 4
  6. 2025: 1
  7. 2026: 7
Istotność:
  1. Sulu: Stored XSS via media download inline-disposition override ten wpis
    Średnia · 5.4 CVE-2026-82396 < 2.6.25, >= 3.0.0-alpha1, < 3.0.8 2.6.25, 3.0.8
  2. Wysoka · 7.2 CVE-2021-43835 >= 2.0.0, < 2.2.18, >= 2.3.0, < 2.3.8, >= 2.4.0-RC1, < 2.4.0 2.2.18, 2.3.8, 2.4.0
  3. Wysoka · 8.5 CVE-2021-43836 < 1.6.44, >= 2.0.0, < 2.2.18, >= 2.3.0, < 2.3.8, >= 2.4.0-RC1, < 2.4.0 1.6.44, 2.2.18, 2.3.8, 2.4.0

Dowiedz się, które podatności dotyczą Twojej aplikacji

Po podłączeniu integracji DockRay i włączeniu raportowania oprogramowania DockRay porównuje zgłoszone wersje komponentów ze znanymi podatnościami i powiadamia o potwierdzonych dopasowaniach. Zakres zależy od obsługiwanej technologii i dostępnych biuletynów.

Podłącz swoją aplikację
Newsletter DockRay

Bezpieczeństwo aplikacji w Twojej skrzynce

Najważniejsze podatności, konkretne zalecenia i praktyczne wskazówki dla Twoich aplikacji. Wybierz technologie i śledź to, co ma znaczenie dla Twojego projektu.

  • Codzienne zestawienie nowych podatności, także krytycznych.
  • Powiadomienia o ważnych aktualizacjach.
  • Praktyczne porady o bezpieczeństwie i monitoringu aplikacji.

Pozostaw puste, aby otrzymywać informacje o wszystkich technologiach.

Zapis jest bezpłatny. Wypiszesz się jednym kliknięciem w wiadomości.