Podatność w module XWiki Rendering umożliwia przeprowadzenie ataku XSS poprzez osadzenie dowolnego kodu HTML i JavaScript przy użyciu składni xdom+xml/current. Zagrożeni są wszyscy użytkownicy posiadający prawo edycji dokumentów, w tym domyślnie własnego profilu.
▸ Pokaż oryginał (EN)
XWiki Rendering is a generic rendering system that converts textual input in a given syntax (wiki syntax, HTML, etc) into another syntax (XHTML, etc). Starting in version 5.4.5 and prior to version 14.10, the XHTML syntax depended on the `xdom+xml/current` syntax which allows the creation of raw blocks that permit the insertion of arbitrary HTML content including JavaScript. This allows XSS attacks for users who can edit a document like their user profile (enabled by default). This has been fixed in version 14.10 by removing the dependency on the `xdom+xml/current` syntax from the XHTML syntax. Note that the `xdom+xml` syntax is still vulnerable to this attack. As it's main purpose is testing and its use is quite difficult, this syntax shouldn't be installed or used on a regular wiki. There are no known workarounds apart from upgrading.
Składnia XHTML w XWiki Rendering posiadała zależność od składni xdom+xml/current, która umożliwia tworzenie tzw. raw blocks — bloków pozwalających na wstrzykiwanie dowolnej treści HTML, łącznie ze skryptami JavaScript. Użytkownik z uprawnieniami do edycji dowolnego dokumentu (np. profilu użytkownika, co jest domyślnie włączone) może wprowadzić złośliwy payload, który zostanie wykonany w przeglądarce ofiary przeglądającej dany dokument. Atak nie wymaga szczególnych uprawnień administracyjnych i może być zainicjowany zdalnie.
Atakujący może wykonać dowolny kod JavaScript w kontekście przeglądarki ofiary, co prowadzi do kradzieży sesji, przejęcia konta użytkownika lub uzyskania dostępu do poufnych danych aplikacji. Ze względu na zmieniony zakres (S:C) oraz wysoki wpływ na poufność, integralność i dostępność, skutki mogą wykraczać poza bieżącą sesję użytkownika.
Należy zaktualizować XWiki Rendering do wersji 14.10 lub nowszej, w której usunięto zależność składni XHTML od xdom+xml/current. Producent nie wskazuje żadnych znanych obejść — jedyną skuteczną metodą jest aktualizacja. Zaleca się również nieinstalowanie ani nieużywanie składni xdom+xml na środowiskach produkcyjnych, gdyż jej głównym przeznaczeniem jest testowanie.
XWiki Rendering w wersjach od 5.4.5 do wcześniejszych niż 14.10. Składnia xdom+xml (bez przyrostka /current) pozostaje podatna nawet po zastosowaniu poprawki.
Producent potwierdza brak znanych workaroundów poza aktualizacją. Składnia xdom+xml (bez /current) nadal pozostaje podatna na ten sam typ ataku — nie należy jej instalować na produkcyjnych instancjach wiki.
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:HXwiki
APPXwiki5.4.5 – 14.10 (bez)
Powiązane podatności
XWiki Platform — niezautoryzowany RCE przez endpoint SolrSearch
XWiki Platform — path traversal umożliwia odczyt plików konfiguracyjnych
XWiki Platform: ujawnienie plików konfiguracyjnych przez webjars API (path traversal)
SQL Injection w XWiki Platform via parametr sort w getdeleteddocuments.vm
XWiki Rendering: bypass trybu restricted przez zagnieżdżone makra