# CVE-2026-31852: Jellyfin Possible Organization/Secret Compromise from dangerous CI implementation

> Attackers can execute arbitrary code via pull requests to compromise the repository, steal secrets, and poison supply chains due to excessive CI permissions.

- **Severity:** Critical 10.0 (`CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H`)
- **Exploited in the wild:** Not known
- **Login needed:** Not needed
- **Attackable:** Over the internet
- **Victim action needed:** Not needed
- **Fix available:** Yes
- **Published:** 11 Mar 2026
- **Updated:** 11 Mar 2026
- **Also known as:** GHSA-7qhm-2m45-7fmh, MINI-r6x8-62g2-79xc

## What is CVE-2026-31852?

CVE-2026-31852 is a critical vulnerability in jellyfin code-quality.yml, published on 11 Mar 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.

### Official 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 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.

Weakness: CWE-269 (Improper Privilege Management)

## Which versions are affected by CVE-2026-31852?

It affects 1 product.


Products: Jellyfin Jellyfin.

## How do I fix CVE-2026-31852?

Change a configuration setting.

## Is CVE-2026-31852 being exploited?

There is no known exploitation of CVE-2026-31852 in the wild and no public exploit code.

Public exploit code:

- Authorized security-research lab reproducing CVE-2026-31852 (jellyfin/jellyfin-ios pull_request_target pwn in code-quality.yml) — isolated snapshot, not the upstream project (github_poc): https://github.com/pvharmo2/gha-lab-3f1ff30e9c

## Other vulnerabilities in jellyfin code-quality.yml

- [CVE-2026-35031](https://insights.sbomify.com/CVE-2026-35031/): Jellyfin: Potential RCE via subtitle upload path traversal + .strm chain (critical 10.0)
- [CVE-2026-35033](https://insights.sbomify.com/CVE-2026-35033/): Jellyfin: Potential SSRF + Arbitrary file read via stream argument injection (critical 9.3)
- [CVE-2023-30627](https://insights.sbomify.com/CVE-2023-30627/): jellyfin-web has a stored cross-site scripting vulnerability in devices.js (critical 9.1)
- [CVE-2023-30626](https://insights.sbomify.com/CVE-2023-30626/): Jellyfin vulnerable to directory traversal and file write causing arbitrary code execution (high 8.8)
- [CVE-2022-35909](https://insights.sbomify.com/CVE-2022-35909/): Incorrect Access Control and Cross Site Scripting in Jellyfin (high 8.8)

## Fix prompt for AI coding agents

```text
Check this codebase for CVE-2026-31852 and fix it if it is affected.

What it is: CVE-2026-31852 is a critical vulnerability in jellyfin code-quality.yml, published on 11 Mar 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Exploitation: There is no known exploitation of CVE-2026-31852 in the wild and no public exploit code.

Affected product: jellyfin code-quality.yml. No package-level version data is available, so check the vendor advisory linked from the reference page.

Task:
1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.
2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/CVE-2026-31852/ (Markdown: https://insights.sbomify.com/CVE-2026-31852/index.md)
```

## Sources

- CVE record: https://www.cve.org/CVERecord?id=CVE-2026-31852
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-31852
- OSV: https://osv.dev/vulnerability/CVE-2026-31852

---
From sbomify Insights: https://insights.sbomify.com/CVE-2026-31852/
Summaries are generated and may contain mistakes; the official description above is the record.
