CVE-2026-124494
KrytyczneCVSS 9.3Streszczenie
SunEditor w wersji przed 3.4.0 zawiera podatność typu stored XSS, ponieważ funkcja _normalizeURL() w sanitizerze html.clean() dekoduje encje nazwane, takie jak :, do pustego ciągu. Atakujący mogą wstrzyknąć wartości href, np. javascript:, które przechodzą kontrolę _isSafeURL(), ale są dekodowane przez przeglądarki, co prowadzi do wykonania JavaScriptu po kliknięciu zapisanego linku.
Ocena ryzyka
Organizacja korzystająca z edytora SunEditor może stać się ofiarą przejęcia sesji użytkowników lub wykonania złośliwego kodu w ich przeglądarkach po kliknięciu spreparowanego linku. Może to prowadzić do kradzieży danych lub dalszej eskalacji ataku.
Rekomendacja
Zaktualizuj SunEditor do wersji 3.4.0 lub nowszej. Do czasu aktualizacji rozważ ograniczenie możliwości wstawiania linków przez użytkowników lub dodatkową walidację wartości href po stronie serwera.
Inne podatności w SunEditor
Zobacz wszystkie- CVE-2026-124492Wysokie
SunEditor w wersji przed 3.4.0 zawiera podatność typu stored XSS w funkcji #createBookmarkList edytora ModalAnchorEditor. Tekst nagłówków h1-h6 jest dekodowany z encji i wstawiany do listy zakładek przez innerHTML bez escapowania, co pozwala na wykonanie JavaScriptu po otwarciu modala linku i wpisaniu # w polu URL.
- CVE-2026-124491Średnie
SunEditor przed 3.4.0 zawiera podatność na przechowywany cross-site scripting w metodzie create() wtyczki FileUpload, która przypisuje nazwy plików zwrócone przez serwer do innerHTML bez escapowania. Atakujący mogą przesłać pliki z nazwami zawierającymi HTML, które omijają html.clean() i wykonują JavaScript w przeglądarkach ofiar podczas ładowania treści lub elementów galerii, umożliwiając kradzież sesji.
- CVE-2026-124493Krytyczne
SunEditor w wersji przed 3.4.0 zawiera podatność typu stored XSS w konstruktorze DocumentType, który wstrzykuje tekst nagłówka do innerHTML bez escapowania HTML. Atakujący mogą zapisać zakodowany encjami HTML w nagłówkach h1-h6, który wykonuje JavaScript podczas inicjalizacji edytorów w trybie document:header, umożliwiając kradzież ciasteczek sesyjnych.
- CVE-2026-59167Krytyczne
SunEditor to lekki i wydajny edytor WYSIWYG w czystym JavaScript bez zależności. Przed wersją 2.47.11, sanityzer w src/lib/core.js nie odrzuca konsekwentnie elementów HTML z przestrzenią nazw lub niestandardowych, co pozwala na pozostawienie atrybutów obsługi zdarzeń na spreparowanych elementach. Gdy aplikacja renderuje treść edytora kontrolowaną przez atakującego, a użytkownik wchodzi w interakcję z elementem, zachowany handler może wykonać skrypt w kontekście przeglądarki aplikacji, umożliwiając trwały cross-site scripting, ujawnienie danych lub nieautoryzowane działania w kontekście przeglądarki. Problem został naprawiony w wersji 2.47.11.
- CVE-2026-124422Średnie
SunEditor w wersjach od 3.0.0 do 3.4.0 zawiera podatność typu stored XSS w funkcji html.clean(), która odtwarza iframes z JSON-a data-se-iframe-holder-attrs bez filtrowania srcdoc lub kluczy SRC pisanych wielkimi literami. Atakujący może wstrzyknąć spreparowany HTML poprzez wklejenie, html.set lub html.insert, co prowadzi do wykonania skryptu w kontekście strony hosta, gdy ofiara załaduje lub wklei treść.
- CVE-2026-54606Wysokie
SunEditor przed wersją 3.1.4 ma podatność w pluginie Embed, która pozwala na wykonanie JavaScript w edytorze. Plugin parsuje surowe HTML embed i odtwarza zewnętrzne elementy script, co prowadzi do XSS. Jeśli aplikacja przechowuje lub odzwierciedla treść bez dodatkowej dezynfekcji, atakujący może wywołać przechowywany lub odzwierciedlony XSS.
Oryginalny opis (angielski, źródło NVD)
SunEditor before 3.4.0 contains a stored cross-site scripting vulnerability because the html.clean() sanitizer's _normalizeURL() function decodes named entities like : to an empty string. Attackers can inject href values such as javascript: that pass the _isSafeURL() check but are decoded by browsers, executing JavaScript when victims click stored links.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

