Volver al Blog
Ciberseguridad 29 de mayo de 2026 5 min read

CVE-2026-27771: Fallo en Gitea Expuso Imágenes Privadas de Contenedores en 31.750 Despliegues Durante 4 Años

Un fallo crítico de control de acceso en el registro de contenedores de Gitea permitía a cualquier usuario no autenticado descargar imágenes privadas de Docker y OCI mediante llamadas estándar al protocolo, saltándose las restricciones de la capa de interfaz. Actualiza a Gitea 1.26.2 ahora.

CVE-2026-27771: Fallo en Gitea Expuso Imágenes Privadas de Contenedores en 31.750 Despliegues Durante 4 Años

CVE-2026-27771 (CVSS 8.2) en el registro de contenedores de Gitea permitía a cualquier usuario no autenticado descargar imágenes privadas de Docker y OCI sin credenciales. El control de acceso se aplicaba en la capa de interfaz de usuario —la interfaz web bloqueaba correctamente el acceso— pero los endpoints de la API de la Especificación de Distribución OCI estaban completamente abiertos. Cualquier comando estándar docker pull u oras pull contra la URL del registro devolvía la imagen independientemente de la configuración de visibilidad.

El fallo afectó a aproximadamente 31.750 instancias de Gitea accesibles desde Internet. También afecta a Forgejo, que fork el código del registro de contenedores de Gitea. Los investigadores de seguridad de la empresa de pentesting con IA NoScope descubrieron la vulnerabilidad durante un encargo y la notificaron al equipo de seguridad de Gitea. La corrección se publicó en Gitea 1.26.2, lanzada la semana del 28 de mayo de 2026.

Versiones afectadas: Gitea 1.21.0 a 1.26.1. Los usuarios de Forgejo deben consultar el aviso de seguridad de Forgejo para conocer su versión corregida.

Actualiza ahora: gitea update o descarga la imagen de contenedor gitea/gitea:1.26.2.

Por qué pasó desapercibido durante cuatro años

La causa raíz es un patrón común en sistemas con controles de acceso en capas: la interfaz de usuario y el protocolo subyacente se tratan como superficies de aplicación equivalentes, cuando no lo son. El código de la interfaz de Gitea verificaba los indicadores de visibilidad antes de renderizar el botón de descarga. El manejador de la API del registro OCI —el camino de código que docker pull realmente utiliza— no tenía ninguna verificación de ese tipo.

Un desarrollador que probara su registro privado iniciaría sesión en la interfaz web, vería sus imágenes listadas como privadas y concluiría que el acceso estaba restringido. Nunca probaría el comando docker pull equivalente desde un contexto no autenticado, porque la interfaz le decía que todo funcionaba.

Este patrón no es exclusivo de Gitea. Muchos sistemas aplican la autorización en la capa de presentación y dejan los endpoints de nivel de protocolo sin protección. La superficie de ataque solo se vuelve visible cuando se prueba el transporte, no la interfaz.

El impacto real

Proveedores de servicios de salud, fabricantes aeroespaciales y proveedores de servicios de internet se encontraban entre las organizaciones afectadas confirmadas, según la divulgación de NoScope. Las imágenes privadas de contenedores típicamente contienen código de aplicación compilado, archivos de configuración, plantillas de variables de entorno y, en algunos casos, credenciales integradas o claves de API utilizadas durante la compilación. Cuatro años de exposición son suficientes para que esas imágenes hayan acumulado datos sensibles.

La exposición también fue silenciosa. Gitea no registra las descargas no autenticadas del registro de contenedores en la configuración por defecto, por lo que las organizaciones afectadas no tienen forma de auditar si sus imágenes fueron accedidas.

Acciones inmediatas

  1. Actualiza a Gitea 1.26.2 de inmediato: ningún cambio de configuración cierra esto sin el parche de código.
  2. Rota cualquier secreto que pueda haberse integrado en imágenes privadas de contenedores o contextos de compilación almacenados en el registro.
  3. Revisa el historial de imágenes: docker history <imagen> revela las capas. Cualquier capa con credenciales, tokens o claves privadas debe considerarse comprometida.
  4. Habilita el registro de auditoría en el endpoint del registro después de actualizar, para que los intentos de acceso no autenticado sean visibles en el futuro.

Fuentes

CVE-2026-27771 Gitea container security Docker vulnerability supply chain