Cyber Posture

CVE-2026-31852

Critical

Published: 11 March 2026

Published
11 March 2026
Modified
20 March 2026
KEV Added
Patch
CVSS Score 10.0 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
EPSS Score 0.0012 30.3th percentile
Risk Priority 20 60% EPSS · 20% KEV · 20% CVSS

Description

Jellyfin is an open-source media system. The code-quality.yml GitHub Actions workflow in jellyfin/jellyfin-ios is vulnerable to arbitrary code execution via pull requests from forked repositories. Due to the workflow's elevated permissions (nearly all write permissions), this vulnerability enables full repository…

more

takeover of jellyfin/jellyfin-ios, exfiltration of highly privileged secrets, Apple App Store supply chain attack, GitHub Container Registry (ghcr.io) package poisoning, and full jellyfin organization compromise via cross-repository token usage. Note: This is not a code vulnerability, but a vulnerability in the GitHub Actions workflows. No new version is required for this GHSA and end users do not need to take any actions.

Mitigating Controls (NIST 800-53 r5)AI

prevent

Directly addresses CWE-269 improper privilege management by ensuring GitHub Actions workflows do not grant excessive write permissions to untrusted pull requests from forked repositories.

prevent

Mandates secure configuration settings for CI/CD workflows like code-quality.yml to block arbitrary code execution triggered by external PRs.

prevent

Restricts access to make changes in the repository, preventing workflows from allowing untrusted PRs to execute with elevated permissions leading to takeover.

Security SummaryAI

CVE-2026-31852 is a critical vulnerability in the code-quality.yml GitHub Actions workflow within the jellyfin/jellyfin-ios repository, part of the Jellyfin open-source media system. It enables arbitrary code execution triggered by pull requests from forked repositories. This is not a flaw in the application code itself but a misconfiguration in the GitHub Actions workflow, which runs with elevated permissions granting nearly all write access. The issue has a CVSS v3.1 base score of 10.0 (AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H) and is classified under CWE-269 (Improper Privilege Management).

Any unauthenticated attacker can exploit this vulnerability by submitting a malicious pull request from a forked repository, as the workflow executes without sufficient checks. Successful exploitation allows full takeover of the jellyfin/jellyfin-ios repository, exfiltration of highly privileged secrets, execution of an Apple App Store supply chain attack, poisoning of packages in the GitHub Container Registry (ghcr.io), and compromise of the entire Jellyfin organization through cross-repository token usage.

The GitHub Security Advisory (GHSA-7qhm-2m45-7fmh) and associated fix in commit 109217e75f38394b2f6e46e25dfe5a721203d3c8 address the issue by modifying the workflow configuration. No new software version is required, and end users of Jellyfin do not need to take any actions, as the vulnerability is confined to the repository's CI/CD pipeline.

Details

CWE(s)

Affected Products

jellyfin
jellyfin
all versions

MITRE ATT&CK Enterprise TechniquesAI

T1195 Supply Chain Compromise Initial Access
Adversaries may manipulate products or product delivery mechanisms prior to receipt by a final consumer for the purpose of data or system compromise.
T1195.002 Compromise Software Supply Chain Initial Access
Adversaries may manipulate application software prior to receipt by a final consumer for the purpose of data or system compromise.
T1677 Poisoned Pipeline Execution Execution
Adversaries may manipulate continuous integration / continuous development (CI/CD) processes by injecting malicious code into the build process.
Why these techniques?

Vulnerability in GitHub Actions workflow enables arbitrary code execution via malicious PRs from forks, facilitating supply chain compromise (T1195/T1195.002) through repo takeover, package poisoning in ghcr.io, and App Store attacks, as well as poisoned pipeline execution (T1677).

Confidence: HIGH · MITRE ATT&CK Enterprise v19.0

References