Description
Bazarr is a companion application to Sonarr and Radarr. Prior to 1.5.7-beta.14, the `api_ns_plex` namespace in `bazarr/api/plex/oauth.py` omits `@authenticate` on its Resource handlers, while normal APIs require an API key and no global authentication hook compensates. Anonymous callers can invoke `POST /api/plex/oauth/logout` to clear credentials and disable the integration, or `POST /api/plex/apikey` to persist an attacker-selected key, without a PIN, account or state precondition. `POST /api/plex/oauth/pin` and `GET /api/plex/oauth/pin/<pin_id>/check` additionally allow an attacker who completes a PIN with an attacker-controlled Plex account to bind that account's token to the instance. `PlexPinCheck` skips state validation when `state_param` is absent and merely logs a mismatch without stopping execution. `POST /api/plex/select-server`, `POST /api/plex/oauth/servers`, `POST /api/plex/webhook/create`, `POST /api/plex/webhook/delete` and `POST /api/plex/encrypt-apikey` expose further `write_config()` operations. Attacker-controlled server URLs feed later outbound requests carrying the configured API key in `X-Plex-Token`, enabling server-side request forgery and credential exposure in addition to persistent configuration tampering and integration denial of service. Version 1.5.7-beta.14 closes the anonymous API-mutation path by adding authentication; complete OAuth state validation is not established and remains a separate residual for curator review.
Published: 2026-10-30
Score: 10 Critical
EPSS: n/a
KEV: No
Impact: Remote configuration tampering, SSRF, credential exposure
Action: Immediate Patch
AI Analysis

Impact

The Bazarr companion application exposes a Plex OAuth API namespace that omits standard authentication checks, constituting a CWE‑352 Cross‑Site Request Forgery vulnerability. In addition, the lack of an authorization guard allows any caller to write configuration via user‑controlled keys, a CWE‑862 Authorization Bypass. This oversight lets unauthenticated callers invoke write operations such as logout, API key creation, and configuration mutation. An attacker can disable a Plex integration, inject a malicious API key, or bind the instance to an attacker‑controlled Plex account. The API also accepts attacker‑supplied server URLs, later triggering outbound requests that include the configured Plex token in an HTTP header, enabling server‑side request forgery and accidental credential leakage.

Affected Systems

All instances of morpheus65535 Bazarr released before version 1.5.7‑beta.14 are vulnerable. The flaw resides in the file bazarr/api/plex/oauth.py, impacting every prior release that did not contain the authentication guard.

Risk and Exploitability

With a base CVSS score of 10, the vulnerability is classified as critical. Even though EPSS data are unavailable, the lack of authentication and state validation means a remote attacker could exploit the flaw from any network they can reach the API, performing full configuration tampering and SSRF with the configured Plex token. The vulnerability is not yet listed in the CISA KEV catalog, but its high severity and the public nature of the exploitation path warrant immediate attention.

Generated by OpenCVE AI on October 30, 2026 at 19:07 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply Bazarr update to version 1.5.7‑beta.14 or later to enforce authentication on the Plex OAuth API, addressing CWE‑862 by ensuring only authorized users can modify configuration.
  • Verify that POST and GET endpoints now require an API key and that OAuth state validation is correctly enforced, mitigating both CWE‑352 and CWE‑862 by preventing CSRF and ensuring correct state token usage.
  • If the update cannot be applied immediately, block or restrict access to the /api/plex routes using a firewall or reverse‑proxy rule, or temporarily disable the Plex integration through the Bazarr UI, thus limiting attack surface for the authorization bypass (CWE‑862).
  • Monitor outbound traffic from the Bazarr server for unexpected requests to malicious URLs and block any that contain the Plex token header, limiting potential SSRF and credential leakage caused by the exploited state validation flaw (CWE‑352).

Generated by OpenCVE AI on October 30, 2026 at 19:07 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 30 Oct 2026 23:15:00 +0000

Type Values Removed Values Added
First Time appeared Morpheus65535
Morpheus65535 bazarr
Vendors & Products Morpheus65535
Morpheus65535 bazarr

Fri, 30 Oct 2026 17:15:00 +0000

Type Values Removed Values Added
Description Bazarr is a companion application to Sonarr and Radarr. Prior to 1.5.7-beta.14, the `api_ns_plex` namespace in `bazarr/api/plex/oauth.py` omits `@authenticate` on its Resource handlers, while normal APIs require an API key and no global authentication hook compensates. Anonymous callers can invoke `POST /api/plex/oauth/logout` to clear credentials and disable the integration, or `POST /api/plex/apikey` to persist an attacker-selected key, without a PIN, account or state precondition. `POST /api/plex/oauth/pin` and `GET /api/plex/oauth/pin/<pin_id>/check` additionally allow an attacker who completes a PIN with an attacker-controlled Plex account to bind that account's token to the instance. `PlexPinCheck` skips state validation when `state_param` is absent and merely logs a mismatch without stopping execution. `POST /api/plex/select-server`, `POST /api/plex/oauth/servers`, `POST /api/plex/webhook/create`, `POST /api/plex/webhook/delete` and `POST /api/plex/encrypt-apikey` expose further `write_config()` operations. Attacker-controlled server URLs feed later outbound requests carrying the configured API key in `X-Plex-Token`, enabling server-side request forgery and credential exposure in addition to persistent configuration tampering and integration denial of service. Version 1.5.7-beta.14 closes the anonymous API-mutation path by adding authentication; complete OAuth state validation is not established and remains a separate residual for curator review.
Title Bazarr: Plex OAuth API namespace is entirely unauthenticated, allowing config tampering, integration takeover and server-side request forgery
Weaknesses CWE-352
CWE-862
References
Metrics cvssV3_1

{'score': 10, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H'}


Subscriptions

Morpheus65535 Bazarr
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-30T17:12:43.384Z

Reserved: 2026-07-10T20:17:57.993Z

Link: CVE-2026-61826

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Deferred

Published: 2026-10-30T17:17:27.497

Modified: 2026-10-30T19:39:14.897

Link: CVE-2026-61826

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-30T22:49:36Z

Weaknesses
  • CWE-352

    Cross-Site Request Forgery (CSRF)

  • CWE-862

    Missing Authorization