CVE-2026-96594 PUBLISHED

Gitea repository media API stored XSS

Assigner: Gitea
Reserved: 04.10.2026 Published: 06.10.2026 Updated: 07.10.2026

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.

Product Status

Vendor Gitea
Product Gitea
Versions Default: unaffected
  • affected from 0 to 28.0.0 (incl.)

Credits

  • https://github.com/KadirArslan reporter
  • https://github.com/cruzzer reporter
  • https://github.com/silverwind remediation developer
  • https://github.com/bircni remediation developer

References

Problem Types

  • CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') CWE