CVE-2026-103667 Gitea container registry stored XSS through blob media type
Authenticated users can execute arbitrary JavaScript on the Gitea origin via malicious container blobs, potentially leading to account takeover.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2026-103667?
CVE-2026-103667 is a medium-severity cross-site scripting vulnerability in Gitea Gitea, published on 6 Oct 2026. Any signed-in user can exploit it over the network, and only if a user opens a file or follows a link.
Official description
Gitea's container registry served blob downloads with a `Content-Type` taken from the media type declared in pushed image manifests, without a `Content-Disposition` or restrictive content security policy. A user who can push container images can publish a blob containing HTML and JavaScript with a `text/html` media type. When a victim who is authenticated to the instance opens the blob URL in a browser, the script runs on the Gitea origin and can perform actions as the victim, such as creating API tokens.
Weakness: CWE-79
Which versions are affected by CVE-2026-103667?
1 open source package ship an affected version, including gitea. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
gitea Bitnami | All versions | 28.0.0 |
Products include Gitea Gitea.
How do I fix CVE-2026-103667?
Upgrade gitea to 28.0.0 or later.
Escape output for the context it lands in and set a strict Content Security Policy. Upgrading the affected component is the real fix. More about Cross-site scripting.
Is CVE-2026-103667 being exploited?
There is no known exploitation of CVE-2026-103667 in the wild and no public exploit code.
Other vulnerabilities in Gitea Gitea
Sources
Also known as BIT-gitea-2026-103667, GHSA-7cq7-4v93-8wjm, MINI-238q-56wg-x5jq, MINI-959g-mhh7-6945.