Security Digest · Vulnerability record
CVE-2026-20896: Gitea Docker image: `REVERSE_PROXY_TRUSTED_PROXIES = *` default lets any source IP impersonate any user via `X-WEBAUTH-USER`
Gitea Docker image versions up to and including 1.26.2 use REVERSEPROXYTRUSTEDPROXIES= by default, allowing any source IP to impersonate a user when reverse-proxy authentication headers such as X-WEBAUTH-USER are enabled.
CVSS 9.8 Critical EPSS 2.8% · p86
Should you act?
Critical and remotely reachable
No known exploitation yet, but it is network-reachable without credentials. This signal is computed from CISA KEV, EPSS and CVSS data; it is not an editorial verdict.
- Not in CISA KEV, but CISA’s SSVC assessment records a public proof-of-concept, so attack code exists.
- EPSS 2.8%, percentile 86: FIRST’s model estimates a 2.8% chance of exploitation activity in the next 30 days, higher than 86% of all scored CVEs (elevated). EPSS is a probability, not a verdict.
- Remotely reachable with no login and no user interaction. If the vulnerable service is exposed to the internet, prioritize it.
- Only applies if your dependency tree includes
code.gitea.io/gitea(Go) < 1.26.3, fixed in 1.26.3. Check your lockfile, including transitive dependencies.
What it is
Gitea Docker image versions up to and including 1.26.2 use REVERSEPROXYTRUSTEDPROXIES= by default, allowing any source IP to impersonate a user when reverse-proxy authentication headers such as X-WEBAUTH-USER are enabled.
From the GitHub advisory
Summary
The Gitea Docker images ship an app.ini template that hard-codes:
The documented default for this setting, in custom/conf/app.example.ini, is 127.0.0.0/8,::1/128, i.e. only loopback is trusted.
When an admin enables ENABLEREVERSEPROXYAUTHENTICATION = true to put Gitea behind an authenticating reverse proxy and leaves the trusted-proxies setting at "the default", they expect only the proxy's loopback connection to inject identity. The Docker image instead trusts X-WEBAUTH-USER from any source IP that can reach the container.
Affected
Weakness type: CWE-284.
Product: code.gitea.io/gitea (Go) · Assigned by: Gitea · Published: 2026-07-03
Affected and fixed versions
| Ecosystem | Package | Vulnerable | First fixed |
|---|---|---|---|
| Go | code.gitea.io/gitea | < 1.26.3 | 1.26.3 |
| Vendor | Product | Affected versions (per CVE record) |
|---|---|---|
| Gitea | Gitea Open Source Git Server | <= 1.26.2 |
Severity scores
| Scored by | CVSS | Score | Vector |
|---|---|---|---|
| Gitea | 3.1 | 9.8 Critical | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| GitHub | 3.1 | 9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
- Attack vector: network (remotely reachable)
- Attack complexity: low
- Privileges required: none (no login)
- User interaction: none
- Scope: unchanged
CVSS measures how bad a flaw is if exploited, not how likely exploitation is. Read it next to the exploitation data below.
Exploitation and urgency
- CISA KEV: not listed (no confirmed in-the-wild exploitation known to CISA).
- CISA SSVC assessment: exploitation poc, automatable yes, technical impact total.
- FIRST EPSS (model of 2026-10-21): 2.76% probability of exploitation activity in the next 30 days; percentile 86.
Timeline
- — CVE record published by Gitea
- — CVE record last updated
- — GitHub-reviewed advisory GHSA-f75j-4cw6-rmx4 published (critical)
Sources and references
Original sources first. Version and fix details should always be confirmed against the vendor or project advisory.
Vendor and project advisories, patches
- GitHub Security Advisory github.com
- GitHub Pull Request #38151 github.com
- Gitea v1.26.3 Release github.com
- Gitea v1.26.4 Release Blog Post blog.gitea.com
Vulnerability records
- GitHub Advisory GHSA-f75j-4cw6-rmx4 github.com
- CVE.org record CVE-2026-20896 cve.org
- NVD entry CVE-2026-20896 nvd.nist.gov
Other references from the CVE record and advisory
- github.com github.com