Podatność w mechanizmie escapowania HTML narzędzia XWiki Platform umożliwia wstrzyknięcie składni XWiki (XWiki syntax injection) i wykonanie dowolnego kodu na serwerze (RCE). Podatność otrzymała maksymalny wynik CVSS 10.0 i nie wymaga uwierzytelnienia ani interakcji użytkownika.
▸ Pokaż oryginał (EN)
XWiki Platform is a generic wiki platform. Starting in version 3.0.1 and prior to versions 4.10.19, 15.5.4, and 15.10-rc-1, the HTML escaping of escaping tool that is used in XWiki doesn't escape `{`, which, when used in certain places, allows XWiki syntax injection and thereby remote code execution. The vulnerability has been fixed in XWiki 14.10.19, 15.5.5, and 15.9 RC1. Apart from upgrading, there is no generic workaround. However, replacing `$escapetool.html` by `$escapetool.xml` in XWiki documents fixes the vulnerability. In a standard XWiki installation, the maintainers are only aware of the document `Panels.PanelLayoutUpdate` that exposes this vulnerability, patching this document is thus a workaround. Any extension could expose this vulnerability and might thus require patching, too.
Narzędzie escapowania HTML (`$escapetool.html`) stosowane na platformie XWiki nie sanityzuje znaku `{`. W określonych miejscach dokumentów XWiki osoba atakująca może wstrzyknąć przez tę lukę składnię XWiki, która zostanie przetworzona przez silnik wiki. Skutkuje to wykonaniem dowolnego kodu po stronie serwera bez konieczności posiadania konta lub interakcji ze strony innych użytkowników. W standardowej instalacji XWiki podatny jest co najmniej dokument `Panels.PanelLayoutUpdate`, jednak każde rozszerzenie korzystające z `$escapetool.html` może być równie narażone.
Atakujący bez uwierzytelnienia może wykonać dowolny kod na serwerze (RCE), uzyskując pełną kontrolę nad instancją XWiki, jej danymi oraz potencjalnie infrastrukturą, na której działa.
Należy zaktualizować XWiki do wersji 14.10.19, 15.5.5 lub 15.9 RC1. Jeśli aktualizacja nie jest natychmiast możliwa, można zastosować obejście polegające na zastąpieniu `$escapetool.html` przez `$escapetool.xml` w dokumentach XWiki — w szczególności w dokumencie `Panels.PanelLayoutUpdate`. Należy też sprawdzić i załatać wszelkie zainstalowane rozszerzenia korzystające z `$escapetool.html`.
XWiki Platform w wersjach od 3.0.1 do (z wyłączeniem) 4.10.19, 15.5.4 oraz 15.10-rc-1
Podatność istnieje od wersji 3.0.1 (stara podatność potencjalnie szeroko rozpowszechniona). Producent wskazuje, że brak jest ogólnego obejścia bez aktualizacji — konieczna jest zmiana konkretnych dokumentów lub upgrade platformy.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:HXwiki
APPXwiki3.0.1 – 14.10.19 (bez)15.0 – 15.5.4 (bez)15.6 – 15.9 (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