Anchorr w wersjach 1.4.1 i wcześniejszych zawiera podatność stored XSS w selektorze użytkowników Jellyseerr, która pozwala dowolnemu posiadaczowi konta wykonać złośliwy skrypt JavaScript w sesji przeglądarki administratora. Skutkiem jest pełne przejęcie panelu administracyjnego oraz wszystkich zintegrowanych usług bez znajomości hasła administratora.
▸ Pokaż oryginał (EN)
Anchorr is a Discord bot for requesting movies and TV shows and receiving notifications when items are added to a media server. Versions 1.4.1 and below contain a stored XSS vulnerability in the Jellyseerr user selector. Jellyseerr allows any account holder to execute arbitrary JavaScript in the Anchorr admin's browser session. The injected script calls the authenticated /api/config endpoint - which returns the full application configuration in plaintext. This allows the attacker to forge a valid Anchorr session token and gain full admin access to the dashboard with no knowledge of the admin password. The same response also exposes the API keys and tokens for every integrated service, resulting in simultaneous account takeover of the Jellyfin media server (via JELLYFIN_API_KEY), the Jellyseerr request manager (via JELLYSEERR_API_KEY), and the Discord bot (via DISCORD_TOKEN). This issue has been fixed in version 1.4.2.
Atakujący z dowolnym kontem w Jellyseerr wstrzykuje złośliwy kod JavaScript do selektora użytkowników w interfejsie Anchorr. Gdy administrator otworzy zainfekowany widok, wstrzyknięty skrypt automatycznie wywołuje uwierzytelniony endpoint /api/config, który zwraca pełną konfigurację aplikacji w postaci jawnego tekstu. Na podstawie tej odpowiedzi atakujący uzyskuje token sesji Anchorr oraz klucze API wszystkich zintegrowanych usług: Jellyfin (JELLYFIN_API_KEY), Jellyseerr (JELLYSEERR_API_KEY) i Discord (DISCORD_TOKEN). Dysponując tymi danymi, może sfałszować ważną sesję administratora i przejąć kontrolę nad wszystkimi połączonymi serwisami jednocześnie.
Atakujący uzyskuje pełen dostęp administratora do panelu Anchorr oraz jednoczesne przejęcie kont w serwerze mediów Jellyfin, menedżerze żądań Jellyseerr i bocie Discord bez potrzeby znajomości jakiegokolwiek hasła. Dochodzi również do ujawnienia kompletnej konfiguracji aplikacji wraz ze wszystkimi tajnymi kluczami API.
Należy zaktualizować Anchorr do wersji 1.4.2, w której podatność została naprawiona. Po aktualizacji zaleca się unieważnienie i rotację wszystkich kluczy API oraz tokenów dla usług Jellyfin, Jellyseerr i Discord, gdyż mogły zostać wcześniej skompromitowane.
Anchorr (openVESSL) w wersjach 1.4.1 i wcześniejszych
Podatność wymaga interakcji użytkownika (UI:R) — administrator musi otworzyć zainfekowany widok, aby exploit został wyzwolony. Poprawka dostępna jest w wersji 1.4.2 opublikowanej na GitHub.
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:HOpenvessl Anchorr
APPOpenvessl≤ 1.4.1