W platformie Discourse przed wersjami 2026.6.0, 2026.5.1, 2026.4.2 i 2026.1.5 możliwe było wstrzyknięcie kodu JavaScript poprzez pole 'featured link' tematu. Podatność jest groźna, ponieważ pozwala atakującemu na wykonanie złośliwego skryptu w przeglądarce innych użytkowników, jeśli domyślna polityka Content Security Policy (CSP) została zmodyfikowana lub wyłączona.
▸ Pokaż oryginał (EN)
Discourse is an open-source discussion platform. Prior to 2026.6.0, 2026.5.1, 2026.4.2, and 2026.1.5, a topic "featured link" was not sufficiently normalized and escaped before being rendered in the topic list, allowing a user who can set a featured link to inject JavaScript when default Content Security Policy protections were modified or disabled. This issue is fixed in versions 2026.6.0, 2026.5.1, 2026.4.2, and 2026.1.5.
Pole 'featured link' przypisywane do tematu nie było odpowiednio normalizowane ani escapowane przed renderowaniem w liście tematów. Użytkownik posiadający uprawnienia do ustawienia 'featured link' mógł wstrzyknąć do niego złośliwy payload JavaScript. Podatność ujawniała się w pełni w środowiskach, w których domyślne zabezpieczenia Content Security Policy zostały zmodyfikowane lub całkowicie wyłączone, co umożliwiało wykonanie wstrzykniętego kodu w kontekście przeglądarki innych odwiedzających.
Atakujący może wykonać dowolny kod JavaScript w przeglądarce ofiary, co może prowadzić do kradzieży sesji, danych uwierzytelniających lub wykonania nieautoryzowanych działań w imieniu zalogowanego użytkownika.
Należy zaktualizować Discourse do wersji 2026.6.0, 2026.5.1, 2026.4.2 lub 2026.1.5 (w zależności od używanej gałęzi). Dodatkowo zaleca się upewnienie się, że polityka Content Security Policy nie jest modyfikowana ani wyłączana, ponieważ domyślna konfiguracja CSP ogranicza skuteczność tej podatności.
Discourse we wszystkich wersjach przed 2026.6.0, 2026.5.1, 2026.4.2 oraz 2026.1.5
Podatność wymaga spełnienia dodatkowego warunku — zmodyfikowanej lub wyłączonej polityki CSP — co obniża praktyczne ryzyko w środowiskach z domyślną konfiguracją Discourse.
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:XDiscourse
APPDiscourse2026.6.02026.1.0 – 2026.1.5 (bez)2026.4.0 – 2026.4.2 (bez)2026.5.0 – 2026.5.1 (bez)
Powiązane podatności
Discourse: RCE przez przesłanie złośliwego archiwum Zip/Gzip Tar przez administratora
RCE w Discourse poprzez brak walidacji wartości subscribe_url
RCE via command injection przy przetwarzaniu plików PDF w Discourse
Stored XSS w Discourse przez złośliwą nazwę drugiego składnika uwierzytelniania
Discourse is an open-source discussion platform. Versions prior to 2026.3.0-latest.1, 2026.2.1, and 2026.1.2 h...