CVE-2026-91121
ŚrednieCVSS 5.0Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 16 - wyżej niż 16% wszystkich znanych CVE
Streszczenie
Discourse przed wersjami 2026.1.8, 2026.6.3, 2026.7.2 i 2026.8.0 renderował kontrolowane przez atakującego nazwy plików przesyłanych w fragmentach wiadomości czatu jako niesanityzowany HTML. Użytkownik mogący przesłać plik i wysłać treść czatu mógł umieścić znaczniki w nazwie pliku, które były interpretowane przez listy kanałów czatu, e-maile z podsumowaniem czatu, przypięte paski wiadomości, podglądy odpowiedzi i inne renderery fragmentów. Podatność umożliwiała wstrzyknięcie zaufanego HTML, ale nie wykazano wykonania JavaScript przy domyślnych ustawieniach CSP.
Ocena ryzyka
Atakujący może wstrzyknąć znaczniki HTML do renderowanych fragmentów, co może prowadzić do modyfikacji treści lub, przy osłabionym CSP, do wykonania skryptu.
Rekomendacja
Zaktualizuj Discourse do wersji 2026.1.8, 2026.6.3, 2026.7.2 lub 2026.8.0 (lub nowszej).
Inne podatności w Discourse
Zobacz wszystkie- CVE-2017-20290Średnie
Discourse w wersjach od 1.9.0.beta2 do przed 1.9.0.beta13 zawiera podatność na odbity cross-site scripting (XSS), która pozwala nieuwierzytelnionym atakującym na wstrzyknięcie skryptów poprzez parametr email w /email/unsubscribed. Atakujący może spreparować żądania GET z payloadami SVG onload, które unsubscribed.html.erb renderuje bez escapowania poprzez html_safe, wykonując JavaScript w przeglądarkach ofiar.
- CVE-2026-23743Wysokie
W Discourse przed wersjami 3.5.4, 2025.11.2, 2025.12.1 i 2026.1.0, przekierowania z linków permalink do zasobów z ograniczonym dostępem (prywatne tematy, kategorie, posty lub ukryte tagi) ujawniały slug zasobu w adresie URL, nawet gdy użytkownik nie miał do niego dostępu. To powodowało wyciek potencjalnie wrażliwych informacji, takich jak tytuły prywatnych tematów, poprzez nagłówek Location oraz pole wyszukiwania na stronie 404.
- CVE-2025-68662Wysokie
Discourse, platforma dyskusyjna o otwartym kodzie źródłowym, zawiera podatność w wersjach przed 3.5.4, 2025.11.2, 2025.12.1 i 2026.1.0. Problem dotyczy walidacji nazwy hosta w komponencie FinalDestination, co może umożliwić obejście zabezpieczeń SSRF w określonych warunkach.
- CVE-2025-68479Wysokie
Discourse to platforma dyskusyjna o otwartym kodzie źródłowym. W wersjach przed 3.5.4, 2025.11.2, 2025.12.1 i 2026.1.0 niektóre punkty końcowe subskrypcji nie sprawdzają poprawnie własności przed wprowadzeniem zmian. Luka została załatana w wymienionych wersjach.
- CVE-2026-55674Krytyczne
Przed wersjami 2026.1.6, 2026.5.2, 2026.6.1 i 2026.7.0 w Discourse, nieuwierzytelniony atakujący mógł wysłać pojedyncze żądanie z spreparowanym ciasteczkiem color_scheme_id (lub dark_scheme_id), aby wstrzyknąć dowolny HTML na stronę Discourse. Ponieważ wartość ciasteczka była renderowana w tagu schematu kolorów bez escapowania, atakujący mógł wydostać się z atrybutu i wstrzyknąć tag, który omijał politykę bezpieczeństwa treści opartą na nonce, co prowadziło do wykonania dowolnego JavaScriptu w przeglądarkach odwiedzających.
- CVE-2026-91159Wysokie
Podatność w Discourse przed wersjami 2026.9.0, 2026.8.1, 2026.7.3 i 2026.1.9. Przetwarzanie oEmbed traktowało cały kontrolowany przez atakującego fragment HTML jako zaufany, gdy fragment zawierał iframe, którego źródło pasowało do skonfigurowanej listy dozwolonych. Użytkownik z uprawnieniami do publikowania, kontrolujący publiczną stronę i jej odpowiedź oEmbed, mógł połączyć dozwolony iframe z niepowiązanym rodzeństwem HTML lub CSS, powodując trwałe nakładki wizualne lub inne stylizowane treści w treści posta, umożliwiając mylące lub fałszywe interfejsy użytkownika. Wykorzystanie wymaga konta z uprawnieniami do publikowania, kontroli nad pobieraną stroną i odpowiedzią oEmbed oraz dozwolonego źródła iframe. Problem wpływa na integralność treści, ale nie ujawnia ograniczonych danych, nie zakłóca dostępności ani nie wymaga interakcji z polityką bezpieczeństwa treści Discourse. Problem został naprawiony w wersjach 2026.9.0, 2026.8.1, 2026.7.3 i 2026.1.9.
- CVE-2026-91157Wysokie
Podatność w Discourse przed wersjami 2026.9.0, 2026.8.1, 2026.7.3 i 2026.1.9. Witryny z włączonym bezpiecznym przesyłaniem nie aktualizowały istniejących metadanych bezpieczeństwa przesyłania, gdy wcześniej publiczna kategoria stała się ograniczona do odczytu lub gdy uprawnienia kategorii zmieniły się podczas masowego importu. Media i załączniki przesłane, gdy kategoria była publiczna, zachowały publiczny flag dostępu i pozostały dostępne dla anonimowych użytkowników przez ich krótkie adresy URL, w tym przesyłki związane z usuniętymi tematami. Problem został naprawiony w wersjach 2026.9.0, 2026.8.1, 2026.7.3 i 2026.1.9.
- CVE-2026-91156Wysokie
Podatność w Discourse przed wersjami 2026.9.0, 2026.8.1, 2026.7.3 i 2026.1.9. Obliczanie odbiorców MessageBus mogło dostarczać wiadomości z kanału czatu kategorii ograniczonej do odczytu uwierzytelnionemu użytkownikowi, który mógł widzieć kategorię, ale nie był uprawniony do korzystania z czatu zgodnie z ograniczeniami grupowymi witryny. Ścieżka publikacji ograniczała zdarzenia do widoczności kategorii bez egzekwowania uprawnień do czatu, ujawniając treść wiadomości na żywo i ostatnie dostępne w backlogu MessageBus. Problem nie pozwala na pobranie pełnej historii kanału przez API czatu i nie pozwala na tworzenie lub modyfikację wiadomości. Problem został naprawiony w wersjach 2026.9.0, 2026.8.1, 2026.7.3 i 2026.1.9.
- CVE-2026-91120Średnie
Discourse przed wersjami 2026.1.8, 2026.6.3, 2026.7.2 i 2026.8.0 mógł ponownie parsować kontrolowane przez dostawcę tytuły filmów w leniwych osadzeniach wideo jako HTML podczas generowania e-maili powiadomień lub podsumowań czatu. Użytkownik z podstawowymi uprawnieniami do publikowania mógł utworzyć post dla włączonego dostawcy YouTube, Vimeo lub TikTok, którego tytuł zawierał znaczniki, a ścieżka renderowania e-maili i podsumowań czatu umieszczała te znaczniki w wyniku zamiast traktować je wyłącznie jako tekst. Odbiorcy używający klientów poczty obsługujących HTML mogli zobaczyć wstrzykniętą treść, potencjalnie w tym procedury obsługi zdarzeń, ale podatność nie ujawniała bezpośrednio sesji przeglądarki Discourse ani nie wpływała na samą stronę forum.
- CVE-2026-91119Średnie
Discourse przed wersjami 2026.1.8, 2026.6.3, 2026.7.2 i 2026.8.0 interpolował wolną wartość action_code_who do atrybutów href linków wzmianek bez kodowania URL. Nazwa wyświetlana zawierająca cudzysłów mogła zakończyć zamierzony atrybut URL i wstrzyknąć kontrolowane przez atakującego elementy do zaufanego renderowanego znacznika. Chociaż widoczny tekst wzmianki był escapowany, niezakodowany komponent ścieżki umożliwiał trwałe wstrzyknięcie HTML, gdy inny użytkownik wyświetlił dotkniętą akcję tematu lub dziennik aktywności.
Oryginalny opis (angielski, źródło NVD)
Discourse is an open-source discussion platform. Prior to 2026.1.8, 2026.6.3, 2026.7.2, and 2026.8.0, attacker-controlled upload filenames used in chat message excerpts were rendered as unescaped HTML. A user able to upload a file and send chat content could place markup in a filename that was then interpreted by chat channel lists, chat summary emails, pinned message bars, reply previews, thread previews, and other excerpt renderers. The issue allowed trusted-HTML injection that altered rendered excerpt content, but JavaScript execution was not demonstrated with default Content Security Policy settings. The advisory states that no confidentiality, integrity, or availability impact was identified, while its structured scoring metadata separately assigns low integrity impact. Sites that disable or relax the default CSP have increased exposure. This issue is fixed in versions 2026.1.8, 2026.6.3, 2026.7.2, and 2026.8.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

