Skip to main content

Kyoo EUVDEUVD-2026-83204

| CVE-2026-77385 MEDIUM
Authorization Bypass Through User-Controlled Key (CWE-639)
2026-09-18 GitHub_M
4.3
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as user with core.play permission
  2. Delivery
    Base64-encode target path under SafePath
  3. Exploit
    Submit crafted path to transcoder endpoint
  4. Execution
    Server validates prefix only, skips catalog check
  5. Impact
    Retrieve uncataloged/hidden file contents

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
Exploitation Conditions

Requires an authenticated Kyoo account that has been granted the core.play permission - this is the gating prerequisite and rules out anonymous/unauthenticated exploitation. The attacker must also know or successfully guess the target file's path, and that file must reside beneath the configured media SafePath directory. Only affects Kyoo versions prior to 5.1.0. Impact is limited to reading uncataloged files (hidden, temporary, operational, or otherwise not represented by a Kyoo catalog record); it does not grant access outside the SafePath tree, nor any write/modify or denial-of-service capability. These constraints (valid privileged account plus path knowledge, read-only, subtree-confined) meaningfully limit realistic exploitation beyond the raw score.

Impact

This is a genuine but modest-severity authorization flaw (CWE-639 IDOR/BOLA), not a high-priority emergency. All signals align on limited risk: the vendor CVSS 3.1 base score is 4.3 with vector AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N - network-reachable and low-complexity, but requiring an authenticated account (PR:L) that holds the core.play permission, and yielding only low confidentiality impact with no integrity or availability effect. No EPSS score, no CISA KEV listing, and no public exploit code are present in the provided data, so exploitation status is 'no public exploit identified at time of analysis.' The impact is inherently bounded: an attacker can read only uncataloged files that reside beneath the already-configured media SafePath, and only when the path is known or guessed, which further caps real-world confidentiality loss. Note the input Tag 'Authentication Bypass' is inaccurate - this is an authorization/access-control failure (the user is already authenticated), so severity/triage should be read as an IDOR, not an auth bypass. Overall this is a low-to-medium priority defense-in-depth fix rather than an urgent externally-exploitable RCE-class issue.

Exploit ScenarioDerived

A registered Kyoo user holding the core.play permission base64-encodes a filesystem path pointing at a hidden, temporary, or operational file located beneath the media SafePath, then submits it to the transcoder streaming endpoint. Because the server only validated the SafePath prefix and never confirmed the path corresponds to a real Kyoo catalog record, it serves the uncataloged file's contents back to the attacker. No public exploit code is identified, but the technique is straightforward given the authenticated low-complexity network vector (AV:N/AC:L).

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 18, 2026

Missing catalog-level authorization in the Kyoo self-hosted media server before 5.1.0 lets an authenticated user who holds the core.play permission read uncataloged files beneath the media directory by submitting a base64-encoded filesystem path to the transcoder API. The flaw is a CWE-639 authorization bypass through a user-controlled key, and exploitation requires both a privileged account and knowledge or successful guessing of the target path, which confines the assessed impact to low-confidentiality, read-only disclosure inside the SafePath subtree. No public exploit code has been identified at time of analysis and the issue is not listed in CISA KEV, so this is a genuine but modest-severity authorization defect rather than an emergency.

RemediationAI

Upgrade Kyoo to v5.1.0 or later, which is the vendor-released fix (release notes at https://github.com/zoriya/Kyoo/releases/tag/v5.1.0, advisory at https://github.com/zoriya/Kyoo/security/advisories/GHSA-fc8v-vr3q-hc46, fix in https://github.com/zoriya/Kyoo/pull/1577 and commit https://github.com/zoriya/Kyoo/commit/c542adb5dc6d681e6491b28b5ac618c35c446d91); note that patching requires rebuilding/redeploying the transcoder container or binary, so schedule a maintenance window for the media service restart. If an immediate upgrade is not possible, the most effective compensating control is to audit and revoke the core.play permission from any account that does not strictly need playback - the trade-off is that those users lose streaming access entirely, since core.play is the same gate that legitimate playback uses. A second option is to keep the configured SafePath media directory free of secrets, backups, temporary transcode output, and operational files, storing anything sensitive outside that subtree; the trade-off is operational friction, because Kyoo's own thumbnails, subtitles, and transcode scratch files often live alongside the media. As a defense-in-depth measure, restrict network access to the transcoder API to trusted clients or place it behind an authenticating reverse proxy, and monitor access logs for base64-encoded path parameters in stream requests - this reduces reachability but does not correct the missing catalog check, so it is not a substitute for upgrading. No vendor-released patch exists for versions below 5.1.0 other than the 5.1.0 release itself.

Affected VersionsENISA

Kyoo < 5.1.0

Affected Packages

euvd kyoo fix: 5.1.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Kyoo is a Go-based self-hosted media server, and the affected component is the transcoder HTTP service built on the Echo framework. Per the description, transcoder/src/api/path.go cleaned a client-supplied base64-encoded filesystem path and validated only that it began with the configured Settings.SafePath prefix before passing it to getHash, while transcoder/src/api/streams.go then served the accepted path without confirming that a matching Kyoo catalog record existed. That gap is classically CWE-639 (Authorization Bypass Through User-Controlled Key): the path itself acts as an attacker-controlled key that the application resolves and acts upon without an ownership or catalog-membership check, so any file reachable under the media root - hidden, temporary, or operational artifacts that were never registered in the catalog - could be streamed back to the requester. Scope is bounded by the SafePath prefix check, so traversal outside the media directory is not demonstrated, and the operation is read-only. The public fix (PR 1577, commit c542adb, released in v5.1.0) adds a MIME-type guard in getPathS that rejects a request with HTTP 400 when mime.TypeByExtension over the path's extension does not return a video/ media type, limiting the served set to plausible video files; the CVSS vector CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N matches this picture - network-reachable, low-privileged authenticated actor, no user interaction, low confidentiality impact only.

Know when Kyoo gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 4.3 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
vuln.today AI 4.3 MEDIUM

Authenticated core.play user (PR:L) over the network (AV:N) with no special complexity (AC:L); read-only disclosure confined to the media subtree gives C:L, with no integrity or availability impact.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
None
Availability
None

Lifecycle Timeline

1
Patch available
Sep 18, 2026 - 18:03 EUVD

DescriptionCVE.org

Kyoo is a self-hosted media server focused on movies, series, and anime. Prior to 5.1.0, a registered user with the core.play permission could supply a base64-encoded filesystem path to the transcoder. The path handling in transcoder/src/api/path.go cleaned the value and checked only that it began with Settings.SafePath before getHash processed it, while transcoder/src/api/streams.go served the accepted path without verifying a Kyoo catalog record. This missing catalog-level authorization allowed the user to retrieve hidden, temporary, operational, or other uncataloged files beneath the media directory when the path was known or guessed. This vulnerability is fixed in 5.1.0.

Threat Intelligence Overview

EPSS Score
0.3%
Top 75% exploitable
Prevalence
Low
niche self-hosted open-source media server for movies/anime
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

22
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +22
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy