Vulnerabilidad Crítica en Gitea Permite Acceso No Autenticado a Archivos del Servidor

Publicado el

Vulnerabilidad en Gitea

Una vulnerabilidad crítica en Gitea, la plataforma de Git autoalojada, permite a atacantes no autenticados leer cualquier archivo accesible por la cuenta del servicio. Las versiones afectadas son las que van de la 1.22.1 a la 1.27.0. No se requiere iniciar sesión ni tener acceso de escritura a los repositorios; un repositorio público y un marcado Org-mode específicamente elaborado son suficientes para llevar a cabo el ataque.

Esta falla ha sido clasificada como CVE-2026-59774 y tiene un CVSS de 9.8, lo que indica su gravedad. La corrección fue lanzada en la versión 1.27.1 de Gitea y se formalizó el 2 de agosto de 2026. Además, esta versión también soluciona otra vulnerabilidad, CVE-2026-60004, que permitía la ejecución remota de código.

Detalles Técnicos de la Vulnerabilidad

El problema radica en el módulo de renderizado Org-mode de Gitea. La versión 1.27.0 inicializaba go-org con org.New() sin reemplazar la función de lectura de archivos predeterminada de la biblioteca. En go-org 1.9.1, esta función es ioutil.ReadFile. Esto permite que un atacante envíe marcado Org-mode, seleccione `Mode: file` y acceda a archivos que la cuenta del servicio puede leer.

La solución implementada en Gitea ahora reemplaza la función de lectura de archivos, de modo que una ruta de inclusión de Org-mode se devuelve como contenido renderizado en texto plano en lugar de resolverse desde el sistema de archivos del servidor. Este cambio se realizó en el PR #38642, y fue retroportado en PR #38645. La vulnerabilidad fue detectada por XBOW Security, un sistema autónomo de seguridad ofensiva, y reportada de forma independiente por Shai Rod, conocido en línea como NightRang3r.

Recomendaciones para Administradores

Gitea no publicó guías formales de detección en el aviso correspondiente. Se recomienda a los administradores revisar las solicitudes POST anónimas a `/{owner}/{repo}/markup`, especialmente aquellas que seleccionan la renderización Org-mode o envían rutas de sistema de archivos absolutas. Si se sospecha que se intentó la cadena de escalación mencionada en el aviso, se debe verificar la existencia de archivos ejecutables inesperados en los directorios de ganchos del repositorio.

Hasta la fecha, no se han reportado casos de explotación en el mundo real, y CVE-2026-59774 no figura en el catálogo de Vulnerabilidades Conocidas Explotadas de CISA. Sin embargo, se debe tener cuidado, ya que la cadena que permite la ejecución de comandos podría ser activada si un atacante logra leer `app.ini`, extraer `INTERNAL_TOKEN`, inyectar un gancho de Git a través del registrador interno y activar ese gancho durante un clon anónimo.

Conclusiones

Es crucial que los administradores de Gitea actualicen a la versión 1.27.1 de inmediato. Aunque la actualización es necesaria, puede no ser suficiente si se ha producido una exposición previa. Si los registros indican que se accedió al punto final de marcado en una versión afectada, se deben tratar las credenciales accesibles por la cuenta del servicio como expuestas y proceder a rotar el token interno, material de OAuth, material de firma JWT y credenciales de la base de datos antes de considerar que la instancia está limpia. La seguridad de Gitea ha estado bajo un intenso escrutinio, con múltiples parches lanzados recientemente para abordar problemas críticos.

Fuente

Ver noticia original