CRITICAL🇬🇧 English

CVE-2026-32890

Stored XSS w Anchorr umożliwia kradzież wszystkich sekretów konfiguracyjnych

CVSS 9.6v3.1pub. 2026-03-20upd. 2026-03-27

W Anchorr (bocie Discord do zarządzania żądaniami mediów) w wersjach 1.4.1 i wcześniejszych istnieje podatność stored XSS w panelu administracyjnym, która pozwala nieuprzywilejowanemu użytkownikowi Discord na wykonanie dowolnego kodu JavaScript w przeglądarce administratora. W połączeniu z niezabezpieczonym endpointem API ujawniającym sekrety w postaci jawnego tekstu, atakujący może wyeksfiltrować wszystkie przechowywane poświadczenia bez żadnego uwierzytelnienia.

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. In versions 1.4.1 and below, a stored Cross-site Scripting (XSS) vulnerability in the web dashboard's User Mapping dropdown allows any unprivileged Discord user in the configured guild to execute arbitrary JavaScript in the Anchorr admin's browser. By chaining this with the GET /api/config endpoint (which returns all secrets in plaintext), an attacker can exfiltrate every credential stored in Anchorr which includes DISCORD_TOKEN, JELLYFIN_API_KEY, JELLYSEERR_API_KEY, JWT_SECRET, WEBHOOK_SECRET, and bcrypt password hashes without any authentication to Anchorr itself. This issue has been fixed in version 1.4.2.

🤖 Analiza AI
Jak działa

Podatność stored XSS znajduje się w rozwijanym menu User Mapping w panelu webowym Anchorr. Dowolny użytkownik Discord należący do skonfigurowanego serwera (guild) może wstrzyknąć złośliwy payload JavaScript, który zostaje zapisany po stronie serwera i wykonywany w przeglądarce administratora przy każdym otwarciu panelu. Wykonany skrypt może następnie wysłać żądanie do endpointu GET /api/config, który zwraca wszystkie sekrety aplikacji w postaci niezaszyfrowanego tekstu (plaintext), bez wymagania jakiegokolwiek uwierzytelnienia. Połączenie tych dwóch słabości (CWE-79 oraz CWE-200) tworzy krytyczny łańcuch ataku umożliwiający pełną kradzież danych uwierzytelniających.

Skutki

Atakujący może wyeksfiltrować wszystkie poświadczenia przechowywane w Anchorr, w tym tokeny Discord (DISCORD_TOKEN), klucze API Jellyfin i Jellyseerr, sekrety JWT i webhook oraz hasze haseł bcrypt, przejmując tym samym pełną kontrolę nad zintegrowaną infrastrukturą mediów.

Mitygacja

Należy zaktualizować Anchorr do wersji 1.4.2, w której podatność została naprawiona. Patch dostępny jest w repozytorium GitHub projektu (tag v1.4.2). Do czasu aktualizacji zaleca się ograniczenie dostępu do panelu administracyjnego wyłącznie do zaufanych sieci oraz rotację wszystkich sekretów i kluczy API przechowywanych w konfiguracji Anchorr.

Kogo dotyczy

Anchorr (openVESSL/Anchorr) w wersjach 1.4.1 i wcześniejszych

Uwagi

Podatność wymaga interakcji użytkownika (administrator musi otworzyć panel webowy), jednak atakujący nie potrzebuje żadnych uprawnień w samym Anchorr — wystarczy, że jest zwykłym członkiem serwera Discord skonfigurowanego w bocie. Łańcuch ataku (stored XSS + niezabezpieczony endpoint /api/config) skutkuje ujawnieniem wszystkich sekretów bez dodatkowego uwierzytelnienia.

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H
  • Openvessl Anchorr

    APP
    Openvessl
    ≤ 1.4.1
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
XSS
CWE
Referencje

Powiązane podatności

CVE-2026-32891CRITICAL9.0PL ✓ten sam produkt

Stored XSS w Anchorr umożliwia przejęcie konta admina i kluczy API

CVE-2026-32890 — Stored XSS w Anchorr umożliwia kradzież wszystkich sekretów konfiguracyjnych — CRITICAL 9.6 | CVEbaza.pl