# CVE-2026-22874: Gitea SSRF via incomplete hostmatcher allow-list filtering

Source: https://junglewise.ai/threats/cve-2026-22874-gitea-ssrf-via-incomplete-hostmatcher-allow-list-filtering  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-07-03. Updated: 2026-07-21  
License: CC BY 4.0 with a link back

CVE-2026-22874 · Severity: critical · CVSS 9.6 · Published 2026-07-03

Gitea, a popular self-hosted Git service, contains a flaw in how it restricts network requests made by its webhook and repository migration features. An attacker with a standard user account can bypass these restrictions to send requests to internal company servers or cloud metadata services that should be private. This could allow the attacker to steal sensitive information, such as cloud credentials or internal data, and view the results directly within the Gitea interface.

Technologies: [Gitea](https://junglewise.ai/threats/technologies/gitea), [code.gitea.io/gitea (Go)](https://junglewise.ai/threats/technologies/code-gitea-io-gitea). Vendors: [Gitea](https://junglewise.ai/threats/vendors/gitea), [Go](https://junglewise.ai/threats/vendors/go).

## Quick answers

**Is CVE-2026-22874 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-22874 being exploited in the wild.

**How severe is CVE-2026-22874?** Critical severity, with a CVSS score of 9.6, published 3 July 2026.

**Which products and versions are affected?** Gitea < 1.26.3, <= 1.26.2; code.gitea.io/gitea (Go) < 1.26.3, SEMVER:introduced=0,fixed=1.26.3.

**Is there a fix for CVE-2026-22874?** Yes. code.gitea.io/gitea (Go): upgrade to 1.26.3 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-22874 attacked?** It is attacked over the network, in a network appliance.

**Am I affected by CVE-2026-22874?** Check whether you run Gitea or code.gitea.io/gitea (Go) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- code.gitea.io/gitea (Go): upgrade to 1.26.3 or later

  ```sh
  go get code.gitea.io/gitea@v1.26.3
  ```


## Technical details

An incomplete SSRF protection vulnerability exists in Gitea's 'MatchBuiltinExternal' host matcher. The implementation relies on Go's 'net.IP.IsPrivate()' function, which only accounts for RFC 1918 and RFC 4193 address ranges. Consequently, it fails to block other sensitive ranges including CGNAT (100.64.0.0/10), Azure WireServer (168.63.129.16), and various IPv6 transition mechanisms (NAT64, Teredo, 6to4). An authenticated attacker can exploit this via webhooks or repository migrations to perform non-blind SSRF, capturing up to 1 MiB of the response body from internal services. The vulnerability is addressed in version 1.26.3.

## Affected products

- Gitea Gitea < 1.26.3

## Identifiers

- CVE-2026-22874
- GHSA-2r5c-gw76-rh3w
- GO-2026-6030

## Timeline

- 2026-06-21: advisory: GitHub Advisory published
- 2026-06-21: patched: Fixed in version 1.26.3

## References

- [https://api.github.com/users/JLLeitschuh](https://api.github.com/users/JLLeitschuh)
- [https://github.com/JLLeitschuh](https://github.com/JLLeitschuh)
- [https://api.github.com/users/JLLeitschuh/gists%7B/gist_id%7D](https://api.github.com/users/JLLeitschuh/gists%7B/gist_id%7D)
- [https://api.github.com/users/JLLeitschuh/repos](https://api.github.com/users/JLLeitschuh/repos)
- [https://avatars.githubusercontent.com/u/1323708?v=4](https://avatars.githubusercontent.com/u/1323708?v=4)
- [https://api.github.com/users/JLLeitschuh/events%7B/privacy%7D](https://api.github.com/users/JLLeitschuh/events%7B/privacy%7D)

## Related threats

- [Gitea account takeover via OAuth2 auto-linking](https://junglewise.ai/threats/cve-2026-120263-when-oauth2-client-account-linking-is-set-to-auto-not-the)
- [Gitea limited-visibility profile disclosure via public-only token](https://junglewise.ai/threats/cve-2026-119627-the-web-profile-and-rss-atom-feed-routes-of-users-and)
- [Gitea token scope bypass in web routes](https://junglewise.ai/threats/cve-2026-119625-the-username-web-route-accepted-personal-access-tokens-over-http)
- [Gitea project boards information disclosure of private pull requests](https://junglewise.ai/threats/cve-2026-119533-repository-and-organization-project-boards-listed-the-pull)
- [Gitea API token scope bypass in repository deletion](https://junglewise.ai/threats/cve-2026-119441-delete-api-v1-orgs-org-repos-deletes-all-repositories-of-an)
