Analysis updated 2026-05-18
Check whether a Gitea Docker deployment you are authorized to test is vulnerable to the X-WEBAUTH-USER auth bypass.
Verify a Gitea instance has been patched to 1.26.3 or newer after a security review.
Spin up a local vulnerable Gitea container to safely learn how the CVE works before patching.
| szybnev/cve-2026-20896-gitea-poc | aaklon/akinator | jpoon/bootnode-registrar | |
|---|---|---|---|
| Stars | 9 | 9 | 9 |
| Language | Go | Go | Go |
| Last pushed | — | — | 2021-03-12 |
| Maintenance | — | — | Dormant |
| Setup difficulty | moderate | moderate | hard |
| Complexity | 2/5 | 3/5 | 3/5 |
| Audience | ops devops | developer | ops devops |
Figures from each repo's GitHub metadata at analysis time.
Requires Go to build and Docker if you want to run the included vulnerable-lab reproduction.
This repository is a proof-of-concept checker for CVE-2026-20896, a real security vulnerability in official Gitea Docker images. Gitea is a self-hosted alternative to GitHub, letting teams run their own git server. The README is explicit that this tool is meant only for authorized red team or penetration testing work, not for attacking systems you don't have permission to test. The vulnerability itself comes from a configuration mistake in Gitea's Docker images up to and including version 1.26.2. When an administrator turned on reverse proxy authentication, Gitea was set to trust a header called X-WEBAUTH-USER from any source that could reach the container directly, even if that source bypassed the reverse proxy that was supposed to check identity first. In practice, this meant someone could send a single request with that header set to a known or guessed username and be treated as if they were already logged in as that person. If the impersonated account happened to be an administrator, the result could be full control over the Gitea instance and its repositories. The README notes this checker does not claim to give access to the underlying server itself, only to the Gitea application. The checker works by first loading the target's home page and reading the Gitea version from the footer text. If the version is already 1.26.3 or newer, meaning it has been patched, the tool skips testing by default. Otherwise it sends requests with the suspicious header set to each username you provide and looks at the resulting page title to see if it resembles a logged-in dashboard for that user. It is written in Go, builds with a single command, and needs no third party Go dependencies. It supports checking multiple targets at once, reading usernames from a file, adjusting concurrency and timeouts, saving results in JSONL format, and a dry run mode that does not send real requests. A bash script fallback is also included. The README even walks through setting up a local, deliberately vulnerable Gitea container in Docker so you can safely test the tool before pointing it at anything real, plus clear steps for cleanup and for patching an actual affected instance.
A Go command-line checker that tests whether a Gitea Docker deployment is vulnerable to CVE-2026-20896, an authentication bypass header issue.
Mainly Go. The stack also includes Go, Docker, Gitea.
No license file is mentioned in the README, so terms of use are unclear.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly ops devops.
This repo across BitVibe Labs
Verify against the repo before relying on details.