Description
jack lets users share media libraries through their Radarr/Sonarr stack, peer-to-peer. Prior to 0.1.0, `middleware/handle-error.ts` serializes raw `FetchError` objects into HTTP responses. `lib/servers/base.ts` attaches outbound request headers on upstream non-success responses and schema-validation failures; the public `extras` field in `lib/errors/FetchError.ts` remains enumerable and is emitted by JSON serialization. These headers include the internal Radarr/Sonarr `X-Api-Key` and custom connector headers such as `CF-Access-Client-Secret`. `lib/redact.ts` redacts logs and spans but not this response path. Any client with the shared peer API key, plus Cloudflare Access credentials if required by the deployment, can force an error without a race or user interaction. `GET /peer/items/:id` and `GET /servers/health` can expose the internal media-server key, while `GET /torznab/download/:id` can expose another peer's key and Cloudflare Access secrets. The /peer/search and /items routes catch these errors and are not affected. Disclosed internal keys grant full administrative control of the corresponding Radarr/Sonarr instance, crossing the intended boundary between friends' shared peer access and private backend credentials. This issue is fixed in version 0.1.0.
Published: 2026-10-30
Score: 8.4 High
EPSS: n/a
KEV: No
Impact: Critical Information Exposure
Action: Patch
AI Analysis

Impact

The vulnerability resides in the way that jack serializes error responses. During an error, the server includes outbound request headers that contain confidential API keys for Radarr or Sonarr, as well as custom Cloudflare Access secrets. This data is exposed through the public error payload, giving any client that knows the shared peer API key and any required Cloudflare credentials full administrative control over the backend media server. The exposed information allows an attacker to execute any operation that the Radarr/Sonarr instance permits, effectively bypassing the designed boundary between friend‑shared access and private backend credentials.

Affected Systems

The issue affects all installations of the Roziscoding Jack application running a version older than 0.1.0. The components involved are the error handling middleware, the base server request handling, and the FetchError implementation. No other vendors or earlier releases are impacted by this specific flaw.

Risk and Exploitability

With a CVSS score of 8.4 this vulnerability is considered High. An attacker can trigger the error by making a standard HTTP GET request to endpoints such as /peer/items/:id, /servers/health, or /torznab/download/:id, without needing privileged access or user interaction. The EPSS score is currently not available, and it is not listed in CISA’s KEV catalog. Nonetheless, the possibility of obtaining absolute control over a media server via exposed API keys makes this a serious risk for any environment hosting jack with shared peer access enabled.

Generated by OpenCVE AI on October 30, 2026 at 22:36 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply the official patch by upgrading Jack to version 0.1.0 or later.
  • If an upgrade is not yet possible, configure the application or underlying reverse proxy to remove the X-Api-Key, CF-Access-Client-Secret, and similar outbound headers from error responses before they reach the client.
  • Audit the Radarr/Sonarr instances and any Cloudflare Access configurations to verify that no accidental key leakage is occurring after remediation.

Generated by OpenCVE AI on October 30, 2026 at 22:36 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 Roziscoding
Roziscoding jack
Vendors & Products Roziscoding
Roziscoding jack

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

Type Values Removed Values Added
Description jack lets users share media libraries through their Radarr/Sonarr stack, peer-to-peer. Prior to 0.1.0, `middleware/handle-error.ts` serializes raw `FetchError` objects into HTTP responses. `lib/servers/base.ts` attaches outbound request headers on upstream non-success responses and schema-validation failures; the public `extras` field in `lib/errors/FetchError.ts` remains enumerable and is emitted by JSON serialization. These headers include the internal Radarr/Sonarr `X-Api-Key` and custom connector headers such as `CF-Access-Client-Secret`. `lib/redact.ts` redacts logs and spans but not this response path. Any client with the shared peer API key, plus Cloudflare Access credentials if required by the deployment, can force an error without a race or user interaction. `GET /peer/items/:id` and `GET /servers/health` can expose the internal media-server key, while `GET /torznab/download/:id` can expose another peer's key and Cloudflare Access secrets. The /peer/search and /items routes catch these errors and are not affected. Disclosed internal keys grant full administrative control of the corresponding Radarr/Sonarr instance, crossing the intended boundary between friends' shared peer access and private backend credentials. This issue is fixed in version 0.1.0.
Title jack: upstream error responses expose backend and peer credentials
Weaknesses CWE-200
CWE-209
References
Metrics cvssV4_0

{'score': 8.4, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:H/SI:H/SA:N'}


Subscriptions

Roziscoding Jack
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-30T22:12:34.837Z

Reserved: 2026-07-14T22:48:09.780Z

Link: CVE-2026-62979

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-30T21:17:15.593

Modified: 2026-10-30T23:17:13.267

Link: CVE-2026-62979

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-30T22:47:55Z

Weaknesses
  • CWE-200

    Exposure of Sensitive Information to an Unauthorized Actor

  • CWE-209

    Generation of Error Message Containing Sensitive Information