D-OPEN

CVE-2026-27771 : Gitea expose vos images container privees sans authentification — 30 000 serveurs touches

Bryan

Bryan

Developpeur backend & securite open source · 29 mai 2026 · 14 min de lecture

TL;DR

  • CVE-2026-27771 (CVSS 8.2) est un contournement d'authentification dans le registre container integre de Gitea. N'importe qui peut telecharger vos images Docker privees sans identifiant.
  • 30 000+ instances Gitea dans plus de 30 pays exposees depuis pres de 4 ans. Secteurs touches : sante, aerospatial, retail, FAI.
  • • Decouverte par l'agent de pentest autonome de NoScope en avril 2026, corrigee dans Gitea v1.26.2.
  • Action immediate : mettez a jour vers 1.26.2, auditez les logs du registre, effectuez une rotation des secrets embarques dans vos images.

Le 27 mai 2026, la societe de securite NoScope a publie les details complets de CVE-2026-27771, une vulnerabilite critique dans le registre container integre de Gitea, l'alternative open source a GitHub la plus deployee au monde. Avec un score CVSS de 8.2 sur 10, cette faille permet a n'importe quel attaquant non authentifie de telecharger l'integralite des images container marquees comme privees — sans fournir le moindre identifiant. Pas d'exploit sophistique, pas de chaine d'attaque complexe : une simple requete docker pull vers l'endpoint du registre suffit pour exfiltrer du code proprietaire, des artefacts de build et des secrets embarques.

L'ampleur de l'exposition est vertigineuse. Selon les donnees relayees par The Hacker News, plus de 30 000 instances Gitea reparties dans plus de 30 pays sont potentiellement affectees. La faille etait presente depuis environ 4 ans dans le code source de Gitea, touchant des organisations dans les secteurs de la sante, de l'aerospatial, du retail et des telecommunications. Et ce qui rend la situation encore plus inquietante, c'est le mode de decouverte : ce n'est pas un chercheur humain qui a identifie la faille, mais un agent de pentest autonome propulse par l'IA, celui de NoScope, capable d'analyser des milliers d'endpoints API en quelques heures pour detecter des patterns d'autorisation defaillants.

Pour les developpeurs open source francais qui utilisent Gitea comme forge interne — que ce soit pour heberger du code source proprietaire, gerer des pipelines CI/CD ou stocker des images Docker de production — cette CVE est un signal d'alarme critique. Si votre instance Gitea est exposee sur Internet avec le registre container active, l'ensemble de vos images privees est potentiellement accessible a n'importe qui depuis des annees. Comme nous l'avions souligne dans notre analyse de la securisation des pipelines CI/CD open source, la supply chain container est l'un des maillons les plus fragiles de l'ecosysteme DevOps.

Notre avis d'expert

Cette CVE est un cas d'ecole du probleme « feature activee par defaut sans modele de securite ». Le registre container de Gitea a ete ajoute comme fonctionnalite pratique pour les equipes DevOps, mais le controle d'acces a ete implemente de maniere incomplete depuis le debut. Pendant 4 ans, des equipes ont pousse des images Docker contenant des cles API, des certificats TLS et du code proprietaire dans un registre qu'elles croyaient prive — alors qu'il etait ouvert a tous. C'est la meme logique que les buckets S3 publics de 2017 : les developpeurs font confiance au mot « private » dans l'interface sans jamais verifier que le controle d'acces fonctionne reellement au niveau reseau.

Anatomie technique de CVE-2026-27771

La vulnerabilite reside dans le module de registre container de Gitea, introduit pour permettre aux equipes de stocker et distribuer des images Docker (et OCI) directement depuis leur instance Gitea, sans dependre de Docker Hub ou d'un registre externe. Quand un utilisateur cree un depot marque comme prive et pousse une image container associee, Gitea est cense appliquer les memes regles d'acces au registre container qu'au depot lui-meme : seuls les utilisateurs authentifies avec les permissions adequates devraient pouvoir telecharger les images.

Le probleme est une incoherence dans la couche d'autorisation entre l'API Git standard de Gitea et l'API de registre container (compatible OCI Distribution Spec). Quand un client Docker envoie une requete GET /v2/<owner>/<repo>/manifests/<tag> pour recuperer le manifeste d'une image, le middleware d'authentification de Gitea ne verifie pas correctement si le depot associe est prive. Plus precisement, la verification de visibilite est effectuee au niveau du depot Git, mais le registre container utilise un chemin de code separe qui contourne cette verification et traite toutes les images comme publiques au moment de servir les blobs et les manifestes.

Concretement, la chaine d'exploitation est d'une trivialite alarmante. Un attaquant n'a besoin que de connaitre le nom du proprietaire et du depot — des informations souvent devinables ou enumerables via l'API publique de Gitea. Il execute ensuite :

# Etape 1 : Configurer le registre Gitea comme source
docker login gitea.example.com
# Annuler l authentification — l attaque fonctionne SANS credentials

# Etape 2 : Pull direct de l image privee
docker pull gitea.example.com/organisation/app-interne:latest

# Resultat : l image est telechargee sans aucune authentification
# Le registre renvoie les manifestes et blobs sans verifier les permissions

# Etape 3 : Extraire les secrets de l image
docker save gitea.example.com/organisation/app-interne:latest | tar -xf -
# Les layers contiennent potentiellement :
# - Variables d environnement avec cles API
# - Fichiers de configuration avec tokens
# - Code source proprietaire
# - Certificats TLS

Ce qui rend cette faille particulierement devastatrice, c'est la nature des donnees exposees. Les images container sont des artefacts de build complets qui contiennent non seulement le code compile de l'application, mais aussi toutes les dependances, les fichiers de configuration, et frequemment des secrets embarques. Malgre les bonnes pratiques qui recommandent de ne jamais embarquer de secrets dans les images Docker, la realite du terrain est que des milliers d'equipes continuent d'inclure des variables d'environnement sensibles directement dans leurs Dockerfiles ou via des COPY de fichiers .env.

CHRONOLOGIE CVE-2026-27771 — DE LA DECOUVERTE AU PATCH~2022Bug introduitRegistre container ajouteAuth bypass dans l'API OCI~4 ANS DORMANTE — NON DETECTEEAVRIL 2026Decouverte par IAAgent pentest NoScopeScan autonome des endpointsAVRIL 2026Divulgation responsableRapport a l'equipe GiteaCoordination du patch27 MAI 2026Gitea v1.26.2Patch + advisory publicsCVE-2026-27771 assigneeFENETRE D'EXPOSITION : ~4 ANS30 000+ instances potentiellement compromisesPREMIERE CVE MAJEURE PAR AGENT IAPentest autonome NoScope — scan de milliers d'endpointsCVSS 8.2 / 10 — HAUTE SEVERITE

Une decouverte par agent IA : le pentest autonome change la donne

L'un des aspects les plus remarquables de CVE-2026-27771 est son mode de decouverte. Ce n'est pas un chercheur en securite qui a passe des heures a lire le code source de Gitea ou a fuzzer ses endpoints. C'est l'agent de penetration testing autonome de NoScope qui a identifie la faille en avril 2026, au cours d'un scan systematique des API de registres container open source. L'agent IA a analyse des milliers de combinaisons d'endpoints, de methodes HTTP et de configurations d'autorisation, detectant automatiquement que les requetes non authentifiees vers l'API OCI du registre Gitea retournaient des donnees qui auraient du etre protegees.

Cette decouverte marque un tournant dans le paysage de la securite open source. Les agents de pentest autonomes sont capables de tester des scenarios d'autorisation a une echelle et une vitesse impossibles pour un humain. Alors qu'un auditeur humain aurait pu passer a cote de cette incoherence entre l'API Git et l'API container — parce que les deux systemes semblent fonctionner correctement pris individuellement — l'agent IA a detecte la divergence de comportement entre un depot marque prive et son registre container associe. C'est exactement le type de faille qui echappe aux audits traditionnels : chaque composant fonctionne « comme prevu » en isolation, mais leur composition cree une breche de securite.

Notre avis d'expert

La decouverte de CVE-2026-27771 par un agent IA est un evenement charniere. Pendant des annees, les projets open source se sont appuyes sur le « many eyes principle » — l'idee que si suffisamment de personnes regardent le code, les bugs deviennent evidents. Mais cette faille etait presente depuis 4 ans dans un projet avec des milliers de contributeurs et d'utilisateurs. Les agents de pentest autonomes ne sont pas simplement un outil supplementaire : ils representent un changement de paradigme. Ils peuvent tester des millions de combinaisons d'endpoints en quelques heures, sans biais cognitif, sans fatigue, et surtout sans faire de suppositions sur ce qui est « cense » fonctionner. Chaque projet open source d'infrastructure devrait integrer des scans autonomes dans son pipeline de securite.

Impact geographique et sectoriel : 30 000 serveurs dans 30+ pays

Les donnees de scan collectees par NoScope revelent une exposition massive. Plus de 30 000 instances Gitea accessibles depuis Internet ont ete identifiees a travers le monde, reparties dans plus de 30 pays. Si toutes n'ont pas necessairement le registre container active, les scans montrent qu'une proportion significative utilise cette fonctionnalite pour stocker des images Docker internes.

Les secteurs les plus touches sont ceux qui privilegient l'auto-hebergement pour des raisons de conformite ou de souverainete des donnees — ce qui est ironique, car c'est precisement cette volonte de controler ses donnees qui les a exposees. Le secteur sante utilise Gitea pour heberger des applications de gestion de donnees patients, avec des images container contenant potentiellement des informations medicales protegees (donnees RGPD sensibles). L'aerospatial et la defense utilisent des forges Gitea internes pour des projets classifies ou sensibles. Le retail deploie Gitea pour ses plateformes e-commerce sur mesure. Et de nombreux FAI et hebergeurs fournissent des instances Gitea mutualisees a leurs clients.

REPARTITION GEOGRAPHIQUE ET SECTORIELLE DES 30 000+ INSTANCES EXPOSEESPar regionEurope~11 400 (38%)Asie-Pacifique~9 000 (30%)Amerique du Nord~5 400 (18%)Reste du monde~4 200 (14%)Par secteur (estimations NoScope)22%SanteDonnees patientsRGPD / HDS18%AerospatialCode classifieProjets defense15%Retail / E-commercePlateforme e-commDonnees clients12%FAI / TelecomInstances mutualiseesMulti-tenant

En France specifiquement, on estime entre 1 500 et 2 500 instances Gitea exposees sur Internet. Beaucoup sont deployees par des PME, des ESN (Entreprises de Services Numeriques), des laboratoires de recherche et des collectivites territoriales qui ont choisi Gitea pour sa legerete et sa capacite a tourner sur des serveurs modestes. L'ironie est que ces organisations ont souvent choisi l'auto-hebergement precisement pour garder le controle de leurs donnees, sans realiser que le registre container de leur forge privee etait ouvert a tous.

Versions affectees vs. corrigees : tableau comparatif

Le tableau suivant recapitule les versions de Gitea affectees par CVE-2026-27771 et les correctifs disponibles. La regle est simple : toute version anterieure a 1.26.2 est vulnerable si le registre container integre est active.

Branche GiteaVersions affecteesVersion corrigeeStatut
1.26.x (stable)1.26.0 — 1.26.11.26.2Patch disponible
1.25.xToutes les 1.25.xUpgrade vers 1.26.2Migration requise
1.24.x et anterieuresToutes les versions avec registre containerUpgrade vers 1.26.2EOL — migration urgente
Gitea sans registre containerNon affecteN/ANon concerne
Forgejo (fork)A verifier — meme base de codeConsulter l'advisory ForgejoVerification necessaire

Un point important : Forgejo, le fork communautaire de Gitea, partage la meme base de code pour le registre container. Les utilisateurs de Forgejo doivent verifier aupres de leur projet si un patch equivalent a ete applique. Au moment de la publication de cet article, Forgejo n'a pas encore publie d'advisory specifique.

Notre avis d'expert

Le fait que Forgejo partage le meme code vulnerable souleve une question plus large sur la fragmentation des forks open source. Quand une CVE est decouverte dans le projet parent, les forks doivent reagir independamment, avec leurs propres processus de triage et de patch. Cela cree des fenetres d'exposition supplementaires pour les utilisateurs de forks qui attendent un advisory specifique avant d'agir. Notre recommandation : si vous utilisez Forgejo avec le registre container, n'attendez pas l'advisory officiel. Verifiez votre exposition immediatement et desactivez le registre container si necessaire en attendant le patch.

Ce que ca signifie pour vous

Si vous gerez une instance Gitea en France — que ce soit pour une startup, une PME, un laboratoire de recherche ou une collectivite — cette CVE a des implications directes et concretes sur votre securite. Voici les scenarios les plus critiques et les actions a entreprendre.

Scenario 1 : Vous utilisez le registre container de Gitea en production

C'est le cas le plus urgent. Toutes les images que vous avez poussees dans le registre container de votre Gitea depuis son activation ont potentiellement ete accessibles sans authentification. Cela inclut le code source compile, les fichiers de configuration, les variables d'environnement et les secrets embarques dans les layers Docker. Votre action immediate :

  1. Mise a jour vers Gitea 1.26.2 dans l'heure
  2. Audit des logs d'acces du registre container pour les 4 dernieres annees
  3. Rotation de tous les secrets presents dans vos images (cles API, tokens, certificats)
  4. Scan de vos images avec trivy ou grype pour identifier les secrets embarques

Scenario 2 : Vous utilisez Gitea mais pas le registre container

Vous n'etes pas directement affecte par CVE-2026-27771, mais mettez quand meme a jour vers 1.26.2. Les versions anterieures pourraient contenir d'autres vulnerabilites non encore divulguees. Verifiez egalement que le registre container est bien desactive dans votre app.ini :

# app.ini — section packages
[packages]
ENABLED = false

# Ou plus specifiquement pour le registre container
[packages.container]
ENABLED = false

Scenario 3 : Vous envisagez de migrer vers Gitea

Ne renoncez pas a Gitea a cause de cette CVE. C'est un projet open source mature avec une communaute active et un processus de reponse aux vulnerabilites qui fonctionne. Mais integrez la securite du registre container dans votre plan de deploiement des le depart. Deployez Gitea derriere un reverse proxy avec authentification, limitez l'acces au registre container aux reseaux internes, et configurez des scans d'images automatises dans votre pipeline CI/CD.

ARBRE DE DECISION : SUIS-JE AFFECTE PAR CVE-2026-27771 ?J'utilise Gitea ?NONNon concerneOUIVersion anterieure a 1.26.2 ?NONPatche — verifiez vos logsOUIRegistre container active (packages) ?NONRisque faibleMettez a jour quand memeOUIInstance accessible depuis Internet ?NON (reseau interne)Risque modereMenace interne possibleOUICRITIQUE — AGISSEZ MAINTENANTMise a jour immediate vers Gitea 1.26.2Rotation des secrets + audit des logsCOMMANDES DE VERIFICATIONgitea --versiongrep ENABLED app.inidocker pull sans auth

Besoin d'un audit securite de votre forge Gitea ?

Sprint de 2 semaines : audit complet de votre instance Gitea, remediation CVE-2026-27771, durcissement du registre container, mise en place de scans automatises et conformite NIS2/DORA.

Planifier un audit securite

Remediation complete : les 5 actions a mener

La remediation de CVE-2026-27771 ne se limite pas a une simple mise a jour de version. Etant donne la duree d'exposition (~4 ans), il faut considerer l'ensemble des donnees qui ont pu etre exfiltrees et agir en consequence.

Action 1 : Mise a jour vers Gitea 1.26.2

C'est la priorite absolue. La mise a jour corrige le bypass d'authentification dans l'API OCI du registre container. Pour les deployements Docker :

# Mise a jour de l image Docker Gitea
docker pull gitea/gitea:1.26.2

# Arreter et supprimer l ancien container
docker stop gitea && docker rm gitea

# Relancer avec la nouvelle version
docker run -d --name gitea \
  -p 3000:3000 -p 2222:22 \
  -v /data/gitea:/data \
  -v /etc/timezone:/etc/timezone:ro \
  gitea/gitea:1.26.2

# Verifier la version
docker exec gitea gitea --version
# Gitea version 1.26.2 built with ...

Action 2 : Audit des logs du registre container

Analysez les logs d'acces pour identifier d'eventuels pulls non autorises. Recherchez les requetes vers l'API /v2/ sans token d'authentification valide :

# Rechercher les acces non authentifies au registre
grep -E "GET /v2/.*/manifests|GET /v2/.*/blobs" /var/log/gitea/access.log \
  | grep -v "Authorization:" \
  | awk '{print $1, $4, $7}' \
  | sort | uniq -c | sort -rn | head -50

Action 3 : Rotation des secrets

Tout secret present dans une image container privee doit etre considere comme compromis. Utilisez trivy pour scanner vos images et identifier les secrets embarques, puis effectuez une rotation systematique.

Action 4 : Durcissement de l'acces reseau

Meme apres le patch, limitez l'acces au registre container de Gitea aux reseaux de confiance. Deployez un reverse proxy avec authentification supplementaire et restreignez les IP sources autorisees.

Action 5 : Monitoring continu

Mettez en place des alertes pour detecter les acces anormaux au registre container. Configurez Dependabot ou Renovate pour etre alerte des prochaines mises a jour de securite Gitea. Pour aller plus loin, consultez notre guide complet sur la securisation des pipelines CI/CD open source.

Notre avis d'expert

La vraie lecon de CVE-2026-27771 n'est pas technique — c'est organisationnelle. Trop d'equipes deploient des outils open source d'infrastructure sans jamais auditer leur surface d'attaque. Gitea est un excellent outil, mais comme tout logiciel d'infrastructure, il doit etre deploye avec une strategie de defense en profondeur : reverse proxy avec auth, segmentation reseau, scans reguliers, monitoring des acces. Le fait que cette faille soit restee 4 ans sans detection montre que le « deploy and forget » est une strategie qui finit toujours par couter cher. Si vous n'avez pas les ressources internes pour securiser votre forge, externalisez cet audit a des specialistes.

Implications pour la supply chain container

CVE-2026-27771 s'inscrit dans une tendance plus large de vulnerabilites ciblant la supply chain container. Les registres d'images Docker sont devenus un maillon critique de l'infrastructure logicielle moderne, et leur securisation est souvent negligee par rapport a celle du code source ou des pipelines CI/CD. En 2026, la majorite des equipes de developpement utilisent des images container comme format de livraison — mais combien d'entre elles auditent regulierement les controles d'acces de leurs registres ?

Cette CVE rejoint une serie d'incidents recents qui ciblent les artefacts de build plutot que le code source directement. Que ce soit les attaques supply chain sur npm que nous avons analysees dans notre article sur la securisation des pipelines npm, ou les compromissions de registres PyPI, le pattern est clair : les attaquants se deplacent vers les points de la chaine de livraison ou les controles de securite sont les plus faibles. Et les registres container auto-heberges, souvent deployes sans audit de securite approfondi, sont une cible de choix.

Pour les equipes francaises soumises aux exigences de NIS2 et DORA, cette CVE a des implications reglementaires directes. Les deux textes imposent aux organisations de maintenir un inventaire des actifs numeriques, de gerer les vulnerabilites dans des delais definis, et de notifier les incidents de securite. Une exposition de 4 ans de donnees proprietaires via un registre container non securise pourrait etre consideree comme un manquement aux obligations de diligence, surtout si l'organisation n'avait pas mis en place de processus d'audit regulier de ses outils d'infrastructure.

Lecons de securite pour les registres container open source

Au-dela de Gitea, CVE-2026-27771 offre des lecons applicables a tout registre container open source — qu'il s'agisse de Harbor, du registre integre de GitLab, de Docker Registry ou de solutions comme Quay. Voici les principes de securite que chaque equipe DevOps devrait appliquer.

Principe 1 : Ne jamais faire confiance au controle d'acces par defaut. Testez systematiquement les permissions de votre registre en tentant un docker pull sans authentification depuis une machine externe. C'est le test le plus simple et le plus efficace pour detecter un bypass d'authentification.

Principe 2 : Defense en profondeur. Le controle d'acces applicatif ne doit pas etre votre seule ligne de defense. Ajoutez un reverse proxy (NGINX, Caddy, Traefik) avec authentification supplementaire, et restreignez l'acces reseau au registre aux seuls CIDR autorises.

Principe 3 : Ne jamais embarquer de secrets dans les images. Utilisez des gestionnaires de secrets (Vault, AWS Secrets Manager, Doppler) et injectez les secrets au runtime via des variables d'environnement ou des volumes montes. Scannez chaque image avec trivy ou gitleaks avant le push pour detecter les fuites accidentelles.

Principe 4 : Auditer regulierement. Integrez un audit de votre registre container dans votre cycle de securite trimestriel. Verifiez les permissions, les acces, les images obsoletes, et les secrets embarques. Pour un guide complet, consultez notre article compagnon : comment auditer la securite de vos registres container open source en 7 etapes.

FAQ

Qu'est-ce que CVE-2026-27771 et pourquoi est-elle critique pour Gitea ?

CVE-2026-27771 est une vulnerabilite de contournement d'authentification (CVSS 8.2) dans le registre container integre de Gitea. Elle permet a un attaquant non authentifie de telecharger (pull) n'importe quelle image container marquee comme privee, sans fournir aucun identifiant. Cela expose le code proprietaire, les secrets embarques dans les images, et les artefacts de build confidentiels. Toutes les versions de Gitea anterieures a 1.26.2 sont affectees. La faille etait presente depuis environ 4 ans.

Combien de serveurs Gitea sont touches par CVE-2026-27771 ?

Selon les scans Shodan et Censys realises par NoScope, plus de 30 000 instances Gitea reparties dans plus de 30 pays sont potentiellement affectees. Les secteurs touches incluent la sante, l'aerospatial, le retail et les FAI. En France, on estime entre 1 500 et 2 500 instances exposees. Beaucoup de ces instances utilisent le registre container integre pour stocker des images Docker contenant du code proprietaire ou des artefacts de build avec des secrets embarques.

Comment savoir si mon instance Gitea est vulnerable a CVE-2026-27771 ?

Verifiez votre version de Gitea dans l'interface d'administration ou via la commande gitea --version. Toute version anterieure a 1.26.2 est vulnerable si le registre container integre est active (ENABLED = true dans la section packages de app.ini). Pour tester, essayez un docker pull sans authentification vers une image privee depuis une machine externe. Si le pull reussit, votre instance est exploitable. Mettez a jour vers Gitea 1.26.2 immediatement.

Comment corriger CVE-2026-27771 sur mon instance Gitea ?

Trois actions immediates : 1) Mettre a jour vers Gitea 1.26.2 ou superieur, qui corrige le bypass d'authentification du registre container. 2) Auditer les logs d'acces de votre registre container pour identifier d'eventuels pulls non autorises sur les 4 dernieres annees. 3) Effectuer une rotation de tous les secrets potentiellement embarques dans vos images container privees (cles API, tokens, certificats). Si la mise a jour immediate est impossible, desactivez temporairement le registre container dans app.ini avec ENABLED = false dans la section [packages].

Securisez votre infrastructure open source avec d-open

Audit de securite Gitea, durcissement des registres container, pipeline CI/CD securise, conformite NIS2 et DORA. Nos experts accompagnent les equipes francaises de la remediation a la mise en conformite.

Discuter avec un expert