CVE-2026-54503
ŚrednieCVSS 4.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 32 - wyżej niż 32% wszystkich znanych CVE
Streszczenie
plone.app.textfield udostępnia typ pola w stylu zope.schema o nazwie RichText do przechowywania wartości z powiązanym typem MIME. W wersjach przed 2.0.2, 3.0.2 i 4.0.1, w zależności od linii wydania, RichTextValue.output zwraca niesanityzowaną zapisaną wartość RichText, gdy mimeType jest równy outputMimeType, w tym wartości deklarujące typ wyjściowy text/x-html-safe. Ten skrót równości omija transformację safe_html, mimo że sama transformacja poprawnie usuwa atrybuty obsługi zdarzeń i niebezpieczne schematy URI. Równe typy mogą wynikać z pola RichText skonfigurowanego z tym samym mimeType i outputMimeType lub z danych wejściowych REST API podających text/x-html-safe jako typ zawartości. Surowa zapisana wartość jest następnie emitowana przez tal:content=structure bez escapowania, co pozwala użytkownikowi mogącemu ustawić pole RichText na zapisanie JavaScriptu wykonywanego w przeglądarce przeglądającego. Problem naprawiono w wersjach 2.0.2, 3.0.2 i 4.0.1.
Ocena ryzyka
Użytkownik mogący ustawić pole RichText może zapisać złośliwy JavaScript, który wykona się w przeglądarce innych użytkowników, prowadząc do XSS i potencjalnego przejęcia sesji. Ryzyko dotyczy instalacji Plone z podatnymi wersjami plone.app.textfield.
Rekomendacja
Zaktualizuj plone.app.textfield do wersji 2.0.2, 3.0.2 lub 4.0.1 (odpowiednio do linii wydania). Sprawdź konfigurację pól RichText, aby uniknąć równych wartości mimeType i outputMimeType.
Powiązane podatności
- CVE-2026-117691Krytyczne
W implementacji wiązania SAML HTTP-Redirect w Keycloak występuje luka polegająca na tym, że serwer przetwarza nazwy parametrów zakodowane procentowo (np. %53AMLResponse), podczas gdy logika weryfikacji podpisu sprawdza tylko literalne nazwy parametrów. Atakujący może wykorzystać tę rozbieżność, dostarczając spreparowaną, niepodpisaną wiadomość SAML, którą serwer przetwarza zamiast legalnie podpisanej, co prowadzi do pełnego przejęcia konta użytkowników sfederowanych.
- CVE-2026-96677Krytyczne
Podatność Cross-site Scripting (XSS) w Apache Juneau. Serializacja dokumentów HTML nie koduje podstawień zmiennych w elementach szablonu strony (nagłówek, nawigacja, stopka itp.), więc aplikacje, które umieszczają tam dane z żądania, odzwierciedlają je bez kodowania.
- CVE-2026-73117Krytyczne
Podatność HTTP Response Splitting (wstrzykiwanie CRLF w nagłówkach HTTP) w Apache Juneau. Serwer REST przekazywał wartości nagłówków odpowiedzi i cele przekierowań do kontenera serwletów bez walidacji, co przy danych z żądania mogło pozwolić na wstrzyknięcie nagłówków lub przekierowanie na dowolną witrynę.
- CVE-2026-73116Krytyczne
Podatność niewystarczającej ochrony poświadczeń w Apache Juneau. Klient RestClient podążał za przekierowaniami HTTP, zachowując nagłówki poświadczeń z pierwotnego żądania, więc serwer przekierowujący na inny host, port lub z HTTPS na HTTP mógł otrzymać nagłówki Authorization, Cookie, Proxy-Authorization i X-API-Key.
- CVE-2026-73101Krytyczne
Podatność ujawniania informacji wrażliwych w komunikatach błędów w Apache Juneau. Serwer REST wysyła klientom klasę i treść wewnętrznego wyjątku w nagłówku odpowiedzi "Thrown" przy każdym błędzie oraz może umieszczać wewnętrzne komunikaty wyjątków w treści błędu, nawet przy wyłączonym renderowaniu stosu.
- CVE-2026-73100Krytyczne
Podatność umieszczania informacji wrażliwych w plikach logów w Apache Juneau. Domyślny logger wywołań serwera REST zapisuje nagłówki żądań dla żądań kończących się błędem serwera bez redakcji, więc nagłówki Authorization, Cookie, Proxy-Authorization i X-API-Key trafiają jawnym tekstem do logów aplikacji.
- CVE-2026-73099Krytyczne
Podatność Cross-Site Request Forgery (CSRF) w Apache Juneau. Serwer REST akceptuje parametr zapytania "content", który zastępuje treść żądania i jest domyślnie włączony dla każdej metody HTTP, w tym GET, więc link międzywitrynowy może dostarczyć wybraną przez atakującego treść żądania bez preflight CORS.
- CVE-2026-73098Krytyczne
Podatność nieprawidłowej kontroli dynamicznie ładowanego kodu w Apache Juneau. Przy parsowaniu wartości do właściwości typu java.lang.Class domyślna zamiana klas ładowała wskazaną klasę z włączoną inicjalizacją, więc dane wejściowe wskazujące klasę z classpath aplikacji uruchamiały jej statyczny inicjalizator.
- CVE-2026-121489Krytyczne
Podatność Path Traversal w Apache Juneau. Zasób mikroserwisu DirectoryResource nie utrzymuje ścieżek żądań wewnątrz skonfigurowanego katalogu głównego; gdy aplikacja włączy ustawienia view, upload lub delete (domyślnie wyłączone), klient może czytać, zapisywać lub usuwać pliki poza katalogiem głównym.
- CVE-2026-100109Krytyczne
Wtyczka WordPress Security For WooCommerce w wersjach 1.0.10–1.0.16 nie sprawdza uprawnień podczas tworzenia użytkowników przez akcję dostępną dla niezalogowanych odwiedzających i pozwala wybrać rolę nowego konta. Umożliwia to nieuwierzytelnionemu atakującemu utworzenie konta administratora i przejęcie witryny.
Oryginalny opis (angielski, źródło NVD)
plone.app.textfield provides a zope.schema-style field type called RichText for storing a value with a related MIME type. Prior to 2.0.2, 3.0.2, and 4.0.1, depending on the release line, RichTextValue.output returns an unsanitized stored RichText value when mimeType equals outputMimeType, including values that claim the text/x-html-safe output type. This equality shortcut bypasses the safe_html transform even though the transform itself correctly removes event-handler attributes and unsafe URI schemes. Equal types can result from a RichText field configured with the same mimeType and outputMimeType or from REST API input that supplies text/x-html-safe as its content type. The raw stored value is then emitted through tal:content=structure without escaping, allowing a user who can set a RichText field to store JavaScript that executes in a viewer's browser. This issue is fixed in versions 2.0.2, 3.0.2, and 4.0.1.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

