CVE-2026-124491
ŚrednieCVSS 6.4Streszczenie
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.
Ocena ryzyka
Umożliwia to atakującym wykonanie dowolnego JavaScript w przeglądarkach ofiar, co może prowadzić do kradzieży sesji i przejęcia konta.
Rekomendacja
Zaktualizuj SunEditor do wersji 3.4.0 lub nowszej i rozważ dodatkową walidację nazw plików 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-124494Krytyczne
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.
- 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 in the FileUpload plugin create() method that assigns server-returned file names to innerHTML without escaping. Attackers can upload files with HTML-laden names that bypass html.clean() and execute JavaScript in victims' browsers when content or gallery items load, enabling session theft.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

