Ghost CMS w wersjach do 5.85.1 włącznie umożliwia zdalnym atakującym obejście mechanizmu ograniczania liczby prób logowania (rate-limit) poprzez wysyłanie żądań z wieloma nagłówkami X-Forwarded-For o różnych wartościach. Podatność jest krytyczna, ponieważ pozwala na przeprowadzenie ataku brute-force na dane uwierzytelniające bez ograniczeń.
▸ Pokaż oryginał (EN)
Ghost through 5.85.1 allows remote attackers to bypass an authentication rate-limit protection mechanism by using many X-Forwarded-For headers with different values. NOTE: the vendor's position is that Ghost should be installed with a reverse proxy that allows only trusted X-Forwarded-For headers.
Mechanizm ochrony przed zbyt dużą liczbą prób logowania opiera się na identyfikacji adresu IP klienta. Atakujący może manipulować nagłówkiem X-Forwarded-For, podając w kolejnych żądaniach HTTP różne, spreparowane wartości adresów IP. System odczytuje te nagłówki jako różne źródła ruchu i traktuje każde żądanie jako pochodzące od innego klienta, co skutkuje pominięciem licznika prób i mechanizmu blokady. W rezultacie atakujący może w sposób nieograniczony próbować odgadnąć hasło bez ryzyka zablokowania.
Atakujący może przeprowadzić skuteczny atak brute-force na konta użytkowników Ghost CMS, co prowadzi do nieautoryzowanego dostępu do panelu administracyjnego oraz potencjalnego przejęcia pełnej kontroli nad platformą i jej zawartością.
Należy zaktualizować Ghost CMS do wersji wyższej niż 5.85.1 zgodnie z informacjami w referencjach producenta. Producent wskazuje ponadto, że Ghost powinien być instalowany za reverse proxy skonfigurowanym tak, aby akceptował wyłącznie zaufane nagłówki X-Forwarded-For — jest to zalecana mitigacja architektoniczna niezależnie od wersji oprogramowania.
Ghost CMS w wersjach do 5.85.1 włącznie, instalacje bez poprawnie skonfigurowanego reverse proxy filtrującego nagłówki X-Forwarded-For.
Producent (Ghost) zajął stanowisko, że odpowiedzialność za filtrowanie nagłówków X-Forwarded-For spoczywa na warstwie reverse proxy, a nie na samej aplikacji. Instalacje bez właściwie skonfigurowanego proxy pozostają podatne nawet po aktualizacji, jeśli nagłówki te nie są odpowiednio weryfikowane.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:NGhost
APPGhost≤ 5.85.1
Powiązane podatności
Ghost CMS: nieuwierzytelniony odczyt bazy danych przez SQL injection
Ghost CMS: stored XSS w pliku SVG umożliwia privilege escalation
Ghost CMS: Arbitrary File Upload umożliwiający wykonanie kodu (RCE)
Ghost v4.39.0 — przesyłanie plików SVG z potencjalnym wykonaniem kodu po stronie klienta
Ghost is a Node.js content management system. From version 5.101.6 to 6.19.2, incomplete CSRF protections arou...