Raw vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:HSummary
CVE-2026-32891 is a critical-severity Basic XSS (CWE-80) vulnerability in Openvessl Anchorr. Its CVSS base score is 9.0 (Critical).
Operationally, exploitation aligns with the MITRE ATT&CK technique Content Injection (T1659); ranked at the 6th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog.
The strongest mitigations our analysis identified map to MP-6 (Media Sanitization) and SA-11 (Developer Testing and Evaluation) — see the control section below for these in your framework.
Deeper analysis AI-assisted summary
Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.
CVE-2026-32891 is a stored cross-site scripting (XSS) vulnerability, classified under CWE-80, CWE-212, and CWE-311, affecting Anchorr, a Discord bot for requesting movies and TV shows while providing notifications for additions to a media server. The flaw resides in the Jellyseerr user selector component in versions 1.4.1 and earlier. It enables arbitrary JavaScript execution within the browser session of an Anchorr administrator, triggered by the injected script calling the authenticated /api/config endpoint to retrieve the full application configuration in plaintext. The vulnerability carries a CVSS v3.1 base score of 9.0 (AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H).
Any Anchorr account holder with low privileges can exploit this issue by injecting malicious JavaScript via the Jellyseerr user selector. Exploitation requires user interaction, as an administrator must view the affected selector for the script to execute in their browser context. Successful exploitation allows the attacker to forge a valid Anchorr session token, granting full unauthorized access to the admin dashboard without knowledge of the admin password. Additionally, the exposed configuration reveals API keys and tokens, enabling simultaneous account takeovers of the integrated Jellyfin media server (via JELLYFIN_API_KEY), Jellyseerr request manager (via JELLYSEERR_API_KEY), and the Discord bot (via DISCORD_TOKEN).
The issue has been addressed in Anchorr version 1.4.2, as detailed in the project's GitHub release notes and security advisory (GHSA-6mg4-788h-7g9g). Security practitioners should immediately upgrade to the patched version and review exposed configurations for potential compromise, particularly in environments integrating media servers and Discord bots.
OWASP Top 10 for Web (2025)
EU & UK References
- 🇪🇺 ENISA EUVD: EUVD-2026-13503
Vulnerability Data
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…
more
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.
- CWE(s)
Related Threats
MITRE ATT&CK Enterprise Techniques
CVEs Like This One
Affected Assets
Mitigating Controls
Control response
—
—
- 12 hardening rules · 7 OS baselines
V14.2.8V14.3.3V1.2.1V1.3.1
Mitigating Controls (NIST 800-53 r5) AI
SC-13 mandates use of specific cryptography, structurally preventing unencrypted sensitive data.
Requires sanitization of media before disposal, release, or reuse, directly stopping sensitive information from remaining in resources made available to unauthorized parties.
Developer testing and evaluation can discover missing or incorrect neutralization of script tags through targeted XSS test cases.
SC-28 requires cryptographic protection of information at rest, eliminating the storage half of the weakness.
SC-8 requires protecting confidentiality of transmitted information, directly stopping missing encryption on the wire.
Input validation explicitly requires checking and neutralizing untrusted web inputs containing script-related characters before they reach a downstream renderer.
Mitigating Controls (NIST CSF 2.0) AI
Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.
PR.DS-01 directly mandates encryption for data-at-rest and therefore prevents CWE-311 mostly for storage, yet the weakness also spans transmission and other contexts that this single at-rest control leaves unaddressed.
Directly addresses removal of confidential data from process memory and similar in-use contexts before exposure.
Secure SDLC practices directly require output encoding and input validation that prevent basic XSS.
PR.DS-02 directly eliminates the transmission facet of CWE-311 via mandatory encryption but leaves the storage facet untouched, so each direction rates only partial.
Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI
Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.
Explicit information-deletion control directly addresses improper removal of sensitive data.
Data-masking techniques can substitute for removal when full deletion is impractical.
Security testing in development catches unneutralized script tags before release.
Test-data protection rules require sanitization of production data used in testing.
Classification identifies sensitive data that must be removed before storage or transfer.
Information-transfer rules can require sanitization of sensitive content before sharing.
Hardening callouts derived
Configuration rules from DISA STIG baselines that bear on weaknesses of the type cited by this CVE. Each rule is shown with the relationship its mapping actually records, against the CWE it was authored against. Derived via CVE→CWE over `controls_xwalks` (authoritative rows only; rows rated `none` are excluded).
Oracle Linux 8 (4 rules)
- V-248525 All OL 8 local disk partitions must implement cryptographic mechanisms to prevent unauthorized disclosure or modification of all information that requires at-rest protection. prevents CWE-311
- V-248579 OL 8 must restrict access to the kernel message buffer. prevents CWE-212
- V-248580 OL 8 must prevent kernel profiling by unprivileged users. prevents CWE-212
Oracle Linux 9 (2 rules)
- V-271756 OL 9 local disk partitions must implement cryptographic mechanisms to prevent unauthorized disclosure or modification of all information that requires at rest protection. prevents CWE-311
- V-271745 OL 9 must restrict access to the kernel message buffer. prevents CWE-212
RHEL 8 (2 rules)
- V-230224 All RHEL 8 local disk partitions must implement cryptographic mechanisms to prevent unauthorized disclosure or modification of all information that requires at rest protection. prevents CWE-311
- V-230269 RHEL 8 must restrict access to the kernel message buffer. prevents CWE-212
RHEL 9 (1 rule)
- V-257879 RHEL 9 local disk partitions must implement cryptographic mechanisms to prevent unauthorized disclosure or modification of all information that requires at rest protection. prevents CWE-311
Windows Server 2016 (1 rule)
- V-224843 Systems requiring data at rest protections must employ cryptographic mechanisms to prevent unauthorized disclosure and modification of the information at rest. prevents CWE-311
Windows Server 2019 (1 rule)
- V-205727 Windows Server 2019 systems requiring data at rest protections must employ cryptographic mechanisms to prevent unauthorized disclosure and modification of the information at rest. prevents CWE-311