CVE-2026-59830
ŚrednieCVSS 5.4Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 6 - wyżej niż 6% wszystkich znanych CVE
Streszczenie
Discourse, platforma dyskusyjna open-source, przed wersją 2026.7.0 zawiera podatność w komponencie post action, który nie escapował nazw wyświetlanych kontrolowanych przez użytkownika przed interpolacją ich do ciągu HTML przekazywanego do trustHTML. Użytkownik, który mógł wybrać spreparowaną nazwę wyświetlaną, mógł utrwalić znaczniki w opisach akcji postów. Przeglądanie dotkniętych strumieni aktywności użytkownika mogło wykonać skrypt kontrolowany przez atakującego w przeglądarce innego użytkownika. Problem został naprawiony w wersji 2026.7.0.
Ocena ryzyka
Atakujący może wykonać złośliwy skrypt w przeglądarkach innych użytkowników, co może prowadzić do kradzieży sesji, przejęcia kont lub rozprzestrzeniania złośliwych treści. Organizacja narażona jest na ataki XSS.
Rekomendacja
Zaktualizuj Discourse do wersji 2026.7.0 lub nowszej. Dodatkowo rozważ wdrożenie polityki bezpieczeństwa treści (CSP) w celu ograniczenia skutków XSS.
Inne podatności w Discourse
Zobacz wszystkie- CVE-2026-91134Średnie
Discourse przed wskazanymi wersjami pozwalał na przechowywany atak typu cross-origin iframe, który omijał politykę allowed_iframes dzięki zakodowanemu userinfo w atrybucie src. Uwierzytelniony użytkownik z uprawnieniami do pisania mógł umieścić iframe w poście, co prowadziło do renderowania treści z kontrolowanej przez atakującego domeny.
- CVE-2026-91132Średnie
Discourse przed wskazanymi wersjami, gdy używano wzorców wildcard w ustawieniu allowed_iframes, mógł akceptować spreparowany adres URL iframe, którego zezwolony sufiks pojawiał się po separatorze authority. Kontrola pochodzenia omijała listę, a przeglądarka wybierała inny atakowany origin, co pozwalało na renderowanie kontrolowanego iframe.
- 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-91121Średnie
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.
- 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.
- CVE-2026-91133Średnie
Discourse przed wskazanymi wersjami umożliwiał uwierzytelnionym użytkownikom wstrzyknięcie niezabezpieczonych znaków wildcard SQL (takich jak % i _) we wzorcach rozpoznawania uploadów, co powodowało wybieranie niepowiązanych rekordów. Dostęp do niedozwolonych metadanych, w tym nazw plików i ścieżek secure-upload, był możliwy bez modyfikacji rekordów.
Oryginalny opis (angielski, źródło NVD)
Discourse is an open-source discussion platform. Prior to 2026.7.0, the post action component failed to escape user-controlled display names before interpolating them into an HTML string passed to trustHTML. A user who could choose a crafted display name could persist markup in post action descriptions. Viewing the affected user activity streams could execute attacker-controlled script in another user's browser. This issue is fixed in version 2026.7.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

