CVE-2026-32891 Overview
CVE-2026-32891 is a critical stored Cross-Site Scripting (XSS) vulnerability affecting Anchorr, a Discord bot used for requesting movies and TV shows and receiving notifications when items are added to a media server. The vulnerability exists in the Jellyseerr user selector component in versions 1.4.1 and below.
This flaw allows any authenticated Jellyseerr account holder to inject malicious JavaScript that executes in the context of an Anchorr admin's browser session. The attack chain enables complete compromise of the Anchorr dashboard and all integrated services, including Jellyfin media server, Jellyseerr request manager, and the Discord bot itself.
Critical Impact
Successful exploitation grants attackers full admin access to Anchorr, plus account takeover of Jellyfin, Jellyseerr, and Discord bot through exposed API keys and tokens.
Affected Products
- Anchorr versions 1.4.1 and below
- Integrated Jellyseerr instances
- Connected Jellyfin media servers via exposed JELLYFIN_API_KEY
Discovery Timeline
- 2026-03-20 - CVE-2026-32891 published to NVD
- 2026-03-20 - Last updated in NVD database
Technical Details for CVE-2026-32891
Vulnerability Analysis
This stored XSS vulnerability (CWE-80) resides in the Jellyseerr user selector component within Anchorr. The vulnerability arises from improper neutralization of script-related HTML tags in user-controlled input, allowing persistent storage of malicious JavaScript payloads.
When an Anchorr administrator views the affected interface containing the injected payload, the malicious script executes within their authenticated browser session. The attack leverages the admin's session context to call the /api/config endpoint, which returns the complete application configuration in plaintext without proper access controls or data masking.
The exposed configuration contains sensitive credentials for all integrated services, enabling cascading compromise across the entire media management stack. This transforms a single XSS vulnerability into a multi-system account takeover scenario.
Root Cause
The root cause is insufficient input sanitization in the Jellyseerr user selector component. User-supplied data is rendered without proper encoding or escaping, allowing HTML and JavaScript injection. Additionally, the /api/config endpoint returns sensitive API keys and tokens in plaintext to any authenticated session, violating the principle of least privilege.
Attack Vector
The attack requires network access and a low-privilege authenticated account on the Jellyseerr integration. The attacker injects malicious JavaScript through the user selector field, which is stored persistently. When an administrator subsequently accesses the interface, the stored payload executes and performs the following actions:
- The injected script silently calls the authenticated /api/config endpoint
- The response exposes plaintext credentials including JELLYFIN_API_KEY, JELLYSEERR_API_KEY, and DISCORD_TOKEN
- The attacker extracts session data to forge a valid Anchorr admin session token
- With the exposed API keys, the attacker gains simultaneous control over Jellyfin, Jellyseerr, and the Discord bot
The attack requires user interaction—specifically, an admin must view the page containing the malicious payload—but no knowledge of the admin password is necessary for successful exploitation.
Detection Methods for CVE-2026-32891
Indicators of Compromise
- Unusual JavaScript execution patterns in Anchorr admin browser sessions
- Unexpected API calls to /api/config from client-side scripts
- Anomalous session token generation or authentication events
- Unauthorized access to Jellyfin, Jellyseerr, or Discord bot using exposed API keys
Detection Strategies
- Monitor web application logs for suspicious requests to the /api/config endpoint
- Implement Content Security Policy (CSP) headers to detect and block inline script execution
- Review audit logs for unexpected administrative actions in Anchorr and integrated services
- Deploy browser-based XSS detection tools to identify script injection attempts
Monitoring Recommendations
- Enable detailed logging for all API endpoint access, particularly configuration-related endpoints
- Set up alerts for new admin session creation from unexpected sources or IP addresses
- Monitor for API key usage patterns that deviate from normal operational baselines
- Review Jellyseerr user input fields for suspicious content or script-like patterns
How to Mitigate CVE-2026-32891
Immediate Actions Required
- Upgrade Anchorr to version 1.4.2 or later immediately
- Rotate all exposed API keys and tokens: JELLYFIN_API_KEY, JELLYSEERR_API_KEY, and DISCORD_TOKEN
- Review access logs for signs of unauthorized administrative access
- Audit integrated services (Jellyfin, Jellyseerr, Discord bot) for unauthorized configuration changes
Patch Information
The vulnerability has been remediated in Anchorr version 1.4.2. Users should upgrade immediately by following the instructions in the GitHub Release v1.4.2. Additional details about the vulnerability and fix are available in the GitHub Security Advisory GHSA-6mg4-788h-7g9g.
Workarounds
- Restrict access to the Anchorr admin interface to trusted networks only until patching is possible
- Implement strict Content Security Policy headers to mitigate XSS impact
- Limit Jellyseerr account creation to trusted users to reduce attack surface
- Consider temporarily disabling the Jellyseerr integration if immediate patching is not feasible
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

