W XWiki Commons API skryptów dokumentu zwraca obiekt DocumentAuthors w sposób umożliwiający bezpośrednią modyfikację pola autorów dokumentu. Może to prowadzić do obejścia mechanizmu kontroli uprawnień i nieautoryzowanego wykonania skryptów.
▸ Pokaż oryginał (EN)
XWiki Commons are technical libraries common to several other top level XWiki projects. The Document script API returns directly a DocumentAuthors allowing to set any authors to the document, which in consequence can allow subsequent executions of scripts since this author is used for checking rights. The problem has been patched in XWiki 14.10 and 14.4.7 by returning a safe script API.
Document script API udostępnia obiekt DocumentAuthors bez odpowiedniego opakowania zabezpieczającego, co pozwala atakującemu na ustawienie dowolnego autora dla dokumentu. Ponieważ XWiki weryfikuje uprawnienia do wykonywania skryptów na podstawie zarejestrowanego autora dokumentu, podmienienie tej wartości skutkuje tym, że kolejne wykonania skryptów są sprawdzane pod kątem uprawnień podstawionego autora, a nie rzeczywistego użytkownika. W ten sposób atakujący z wysokimi, ale ograniczonymi uprawnieniami może wykonywać skrypty z poziomem dostępu innej osoby, w tym administratora.
Atakujący może eskalować uprawnienia poprzez przypisanie dowolnego autora do dokumentu, a następnie wykonać skrypty z poziomem dostępu tego autora — potencjalnie uzyskując pełną kontrolę nad instancją XWiki, w tym dostęp do poufnych danych oraz możliwość modyfikacji treści i konfiguracji.
Należy zaktualizować XWiki do wersji 14.10 lub 14.4.7, w których problem został naprawiony poprzez zwracanie bezpiecznego opakowania (safe script API) zamiast bezpośredniego obiektu DocumentAuthors. Szczegóły dostępne w referencjach producenta na GitHub Security Advisories (GHSA-pwfv-3cvg-9m4c).
XWiki w wersjach wcześniejszych niż 14.10 oraz 14.4.7
Podatność sklasyfikowana jako CRITICAL (CVSS 9.1) z wektorem sieciowym bez wymagania interakcji użytkownika, jednak wymaga uprawień wysokiego poziomu (PR:H). Poprawka dostępna w commicie 905cdd7c421dbf8c565557cdc773ab1aa9028f83 na GitHub.
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:HXwiki
APPXwiki14.1014.4.1 – 14.4.7 (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