CVE-2026-91123
WysokieCVSS 7.2Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 19 - wyżej niż 19% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Atakujący może umieścić iframe z treścią spoza dozwolonych domen, co może prowadzić do phishing lub wyświetlania złośliwych treści użytkownikom forum.
Rekomendacja
Zaktualizuj Discourse do wersji 2026.1.8, 2026.6.3, 2026.7.2 lub 2026.8.0. Przejrzyj konfigurację allowed_iframes i upewnij się, że ścieżki są poprawnie walidowane.
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.1.8, 2026.6.3, 2026.7.2, and 2026.8.0, the iframe src traversal guard did not treat literal backslashes as path separators after decoded dot segments. A crafted source could therefore pass an allowed_iframes subpath check while browser URL normalization moved the iframe outside the intended allowed path. The resulting iframe could load content from a location that the administrator did not allow. 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

