Ghost CMS w wersji do 5.76.0 zawiera podatność stored XSS, która pozwala użytkownikowi z rolą kontrybutora na przejęcie dowolnego konta w systemie. Zagrożenie jest poważne ze względu na możliwość eskalacji uprawnień bez wymaganej interakcji ofiary poza przeglądaniem złośliwej treści.
▸ Pokaż oryginał (EN)
Ghost through 5.76.0 allows stored XSS, and resultant privilege escalation in which a contributor can take over any account, via an SVG profile picture that contains JavaScript code to interact with the API on localhost TCP port 3001. NOTE: The discoverer reports that "The vendor does not view this as a valid vector."
Atakujący z uprawnieniami kontrybutora przesyła jako zdjęcie profilowe plik SVG zawierający osadzony kod JavaScript. Gdy plik SVG jest renderowany przez przeglądarkę ofiary, złośliwy skrypt wykonuje się w kontekście aplikacji i komunikuje się z lokalnym API Ghost nasłuchującym na porcie TCP 3001. Poprzez zapytania do API atakujący może wykonywać operacje w imieniu zalogowanej ofiary, w tym przejąć jej konto niezależnie od poziomu uprawnień.
Atakujący może przejąć dowolne konto użytkownika Ghost CMS, w tym konto administratora, uzyskując pełną kontrolę nad instancją aplikacji. Skutkiem jest całkowite naruszenie poufności, integralności oraz dostępności danych i systemu.
Należy zastosować patche dostępne u producenta zgodnie z referencjami (pull request #19646 w repozytorium TryGhost/Ghost). Zaleca się również ograniczenie możliwości przesyłania plików SVG jako avatarów przez użytkowników o niskich uprawnieniach oraz monitorowanie aktywności API na porcie 3001.
Ghost CMS w wersjach do 5.76.0 włącznie
Producent (Ghost/TryGhost) oficjalnie nie uznaje opisanego wektora ataku za poprawny. Podatność została odkryta i zgłoszona przez Rhino Security Labs, a dowód koncepcji (PoC) jest publicznie dostępny w repozytorium RhinoSecurityLabs/CVEs.
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:HGhost
APPGhost≤ 5.76.0
Powiązane podatności
Ghost CMS: nieuwierzytelniony odczyt bazy danych przez SQL injection
Ghost CMS – obejście limitu prób uwierzytelnienia przez nagłówki X-Forwarded-For
An arbitrary file upload vulnerability in the file upload module of Ghost CMS v4.42.0 allows attackers to exec...
An arbitrary file upload vulnerability in the file upload module of Ghost v4.39.0 allows attackers to execute ...
Ghost is a Node.js content management system. From version 5.101.6 to 6.19.2, incomplete CSRF protections arou...