Vulnerability · Published Nov 1, 2026 · Assigned by Gitea
CVE-2026-113429Gitea stored XSS through legacy Actions artifact Content-Encoding
Unrated
In plain English
A cross-site scripting in Gitea from Gitea. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.2% (higher than 7% of all known vulnerabilities).
Official description
Legacy (v1 to v3) Actions artifact uploads stored the request's `Content-Encoding` header unchecked in the column that is served as the artifact's `Content-Type` on download, and a value starting with `video/` or `audio/` also removed the sandboxing Content-Security-Policy. A user who can run an Actions job could upload an artifact that a browser renders as HTML on the Gitea origin when the direct artifact download URL is opened, and the URL is reachable anonymously on public repositories. A victim who opens the link runs the attacker's script with their own session, which for an administrator means control of the instance. Legacy uploads now store only the `gzip` marker, and the special serve headers are chosen only for valid media types.
Affected products (as reported)
Weakness: CWE-79
References
- GitHub Security Advisory GHSA-9v6p-xpcp-7488 vendor-advisory
- Fix: go-gitea/gitea pull request #39855 patch
- Fix backport to release/v28: go-gitea/gitea pull request #39996 patch
- Gitea 28.3.0 release announcement release-notes
- go-gitea/gitea v28.3.0 release release-notes