CVE-2026-91119
ŚrednieCVSS 6.4Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 9 - wyżej niż 9% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Atakujący może wstrzyknąć trwałe elementy HTML do widoku innych użytkowników, co może prowadzić do modyfikacji treści lub ataków typu cross-site scripting.
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-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-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.
- CVE-2026-91123Wysokie
W Discourse przed wersjami 2026.1.8, 2026.6.3, 2026.7.2 i 2026.8.0, zabezpieczenie sprawdzające źródła iframe nie traktowało dosłownych backslashów jako separatorów ścieżek po zdekodowanych segmentach kropek. Specjalnie spreparowane źródło mogło przejść kontrolę allowed_iframes, podczas gdy normalizacja adresu URL w przeglądarce przesuwała iframe poza dozwoloną ścieżkę. W efekcie iframe mógł ładować treść z lokalizacji nieautoryzowanej przez administratora.
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, the topic small-action and nested-activity-log components interpolated the free-form action_code_who value into mention-link href attributes without URL encoding. A quote-bearing display name could terminate the intended URL attribute and inject attacker-controlled elements into the trusted rendered markup. Although the visible mention text was escaped, the unencoded path component allowed stored HTML injection when another user viewed the affected topic action or activity log. 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

