Podatność w systemie Ghost CMS (Node.js) umożliwia nieuwierzytelnionemu atakującemu zatrucie pamięci podręcznej (cache poisoning) poprzez manipulację nagłówkiem x-ghost-preview. W konfiguracji, gdzie frontend i panel administracyjny działają na tej samej domenie, może to prowadzić do przejęcia kont użytkowników personelu.
▸ Pokaż oryginał (EN)
Ghost is a Node.js content management system. From until 6.37.0, when Ghost is behind a shared caching layer that results in cached content being shared between different visitors, an unauthenticated user could send an x-ghost-preview header that altered the rendered frontend response. In affected cache configurations, that response could be stored and served to subsequent visitors requesting the same page, allowing cache poisoning of request-specific preview output. When running Ghost's frontend and admin panel on the same domain this could be used to take over staff user accounts. When running these on different domains staff accounts have no exposure. This vulnerability is fixed in 6.37.0.
Gdy Ghost działa za współdzieloną warstwą cache, atakujący może wysłać spreparowany nagłówek x-ghost-preview, który modyfikuje renderowaną odpowiedź frontendu. Zmodyfikowana odpowiedź może zostać zapisana w cache i następnie serwowana kolejnym użytkownikom odwiedzającym tę samą stronę. W konfiguracji, w której frontend i panel administracyjny Ghost działają na tej samej domenie, mechanizm ten może być wykorzystany do przejęcia kont pracowników (staff accounts).
Atakujący może zatruć cache serwisu i serwować złośliwe treści nieświadomym użytkownikom, a w specyficznej konfiguracji domenowej może przejąć konta użytkowników personelu Ghost CMS.
Należy zaktualizować Ghost CMS do wersji 6.37.0 lub nowszej, w której podatność została naprawiona. Jako obejście, uruchomienie frontendu i panelu administracyjnego na osobnych domenach eliminuje ryzyko przejęcia kont pracowników.
Ghost CMS w wersjach poniżej 6.37.0, działający za współdzieloną warstwą cache; podatność na przejęcie kont dotyczy wyłącznie konfiguracji, w których frontend i panel administracyjny są obsługiwane na tej samej domenie
Podatność sklasyfikowana jako CWE-524 (Use of Cache Containing Sensitive Information). Ryzyko przejęcia kont dotyczy wyłącznie konfiguracji single-domain; konfiguracje z rozdziałem domen dla frontendu i admina nie są narażone na przejęcie kont, jedynie na cache poisoning treści.
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H