{"id":1827,"date":"2026-07-29T11:21:07","date_gmt":"2026-07-29T11:21:07","guid":{"rendered":"https:\/\/cybercolombia.co\/index.php\/2026\/07\/29\/el-nuevo-gitea-rce-permite-a-los-escritores-de-repositorios-instalar-un-gancho-git-para-ejecutar-comandos-de-shell-cyberdefensa-mx\/"},"modified":"2026-07-29T11:21:07","modified_gmt":"2026-07-29T11:21:07","slug":"el-nuevo-gitea-rce-permite-a-los-escritores-de-repositorios-instalar-un-gancho-git-para-ejecutar-comandos-de-shell-cyberdefensa-mx","status":"publish","type":"post","link":"https:\/\/cybercolombia.co\/index.php\/2026\/07\/29\/el-nuevo-gitea-rce-permite-a-los-escritores-de-repositorios-instalar-un-gancho-git-para-ejecutar-comandos-de-shell-cyberdefensa-mx\/","title":{"rendered":"El nuevo Gitea RCE permite a los escritores de repositorios instalar un gancho Git para ejecutar comandos de Shell \u2013 CYBERDEFENSA.MX"},"content":{"rendered":"<div id=\"articlebody\">\n<p>Gitea, la plataforma Git autohospedada, ha solucionado una vulnerabilidad cr\u00edtica de ejecuci\u00f3n remota de c\u00f3digo. Un usuario con acceso normal de escritura al repositorio puede convertir el contenido del parche controlado por el atacante en un gancho Git activo y ejecutar comandos de shell como la cuenta de servicio de Gitea.<\/p>\n<p>Seguimiento como <code><b>CVE-2026-60004<\/b><\/code> (Puntuaci\u00f3n CVSS: 9,8), la falla afecta a las versiones 1.17 y posteriores de Gitea antes de la 1.27.1 y se solucion\u00f3 en 1.27.1. La llamada API vulnerable requiere autenticaci\u00f3n y permiso de escritura en el repositorio. Pero Gitea habilita el registro de forma predeterminada, por lo que un visitante externo puede crear una cuenta y un repositorio normales en una instalaci\u00f3n sin cambios y luego explotar el error sin credenciales preexistentes.<\/p>\n<p>Actualizar a 1.27.1 es la soluci\u00f3n. Gitea dijo el 27 de julio que las instancias de Gitea Cloud se actualizar\u00edan autom\u00e1ticamente. El aviso de Gitea del 28 de julio no dice que la falla haya sido explotada en la naturaleza, pero incluye un c\u00f3digo de prueba de concepto (PoC) p\u00fablico.<\/p>\n<p>Deshabilitar el registro abierto puede eliminar la ruta de creaci\u00f3n de cuenta p\u00fablica mientras se implementa la actualizaci\u00f3n, pero no soluciona la falla ni protege contra usuarios existentes con acceso de escritura al repositorio.<\/p>\n<div class=\"dog_two clear\">\n<div class=\"cf\"><a href=\"https:\/\/thehackernews.uk\/ai-vuln-protection-d\" rel=\"nofollow noopener sponsored\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"lazyload\" alt=\"Ciberseguridad\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEjQl2axNwsfhbXOFynrg_uAZsvHi3OvNGSA8KJO-BKR8Xm3x7yjKV3EvfY4v5mwXx6LF0uWFb9h9d9iAV_Pi-YYhqimX9wx4OaLdDJEdR215Xrxq_PAtXkaLfQso4pTSjbj6fvh_ZTliLpzWZSZfcoZgyXtKwhN-SSDDlmbtUqGLshc0KqYQGWYHMN52Sl1\/s728-e100\/zz-d.jpg\" width=\"729\" height=\"91\"\/><\/a><\/div>\n<\/div>\n<p>La falla fue reportada por un investigador de seguridad. <a href=\"https:\/\/x.com\/NightRang3r\/status\/2082167303190241483\">Shai Rod, que se hace llamar NightRang3r<\/a>. Gitea acredita a NightRang3r como el reportero de su aviso.<\/p>\n<p>La gitea <a href=\"https:\/\/github.com\/go-gitea\/gitea\/blob\/v1.27.0\/routers\/api\/v1\/api.go#L1407\">ruta afectada<\/a> invoca <code>reqToken()<\/code>que rechaza solicitudes sin un usuario registrado. La ruta sin credenciales previas proviene del proyecto <a href=\"https:\/\/docs.gitea.com\/1.27\/administration\/config-cheat-sheet\">configuraci\u00f3n predeterminada<\/a>que deja el registro abierto, no requiere aprobaci\u00f3n manual ni por correo electr\u00f3nico, no marca a los nuevos usuarios como restringidos y no impone ning\u00fan l\u00edmite predeterminado de creaci\u00f3n de repositorio.<\/p>\n<p>El error se encuentra en el <code>POST \/api\/v1\/repos\/{owner}\/{repo}\/diffpatch<\/code> punto final. Seg\u00fan Gitea <a href=\"https:\/\/github.com\/go-gitea\/gitea\/security\/advisories\/GHSA-rcr6-4jqh-j84m\">aviso de seguridad<\/a>el punto final aplica un parche proporcionado dentro de un clon temporal desnudo compartido. Invocaci\u00f3n de compilaciones vulnerables <code>git apply<\/code> con <code>--index<\/code>, <code>--recount<\/code>, <code>--cached<\/code>y <code>--binary<\/code>a\u00f1adiendo el <code>-3<\/code> Opci\u00f3n de respaldo de tres v\u00edas cuando el servidor ejecuta Git 2.32 o posterior.<\/p>\n<p>Un atacante env\u00eda el mismo parche dos veces para crear una colisi\u00f3n agregar\/agregar. El respaldo de tres v\u00edas verifica la ruta indexada aunque la operaci\u00f3n utilice <code>--cached<\/code>. Debido a que el clon temporal est\u00e1 desnudo, su ra\u00edz es <code>$GIT_DIR<\/code>. Un archivo ejecutable ubicado en <code>hooks\/post-index-change<\/code> por lo tanto, llega al directorio de enlaces de Git y se activa. Git lo ejecuta mientras actualiza el \u00edndice.<\/p>\n<div class=\"separator\" style=\"clear: both;\"><a href=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEiSY38SkVmSwWfzVCew9Uxq3fAbRzE3Wg-a6ULmInmDuYqnP2vTKCWgChKSyFLtCvynW_8i19LHXUYPZN1SiKAu1QLF7vOq1MOjaa9BpW7dSTlZWyYAcji4eljuTMPA1gq5QBDGDTvbOi-lF7KKnl28HRkQoaqMqkMP3HHP3ar87Ydn5efdZZem8_PWISw\/s1700-e365\/rce-lfi.jpg\" style=\"clear: left; display: block; float: left;  text-align: center;\"><img decoding=\"async\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEiSY38SkVmSwWfzVCew9Uxq3fAbRzE3Wg-a6ULmInmDuYqnP2vTKCWgChKSyFLtCvynW_8i19LHXUYPZN1SiKAu1QLF7vOq1MOjaa9BpW7dSTlZWyYAcji4eljuTMPA1gq5QBDGDTvbOi-lF7KKnl28HRkQoaqMqkMP3HHP3ar87Ydn5efdZZem8_PWISw\/s1700-e365\/rce-lfi.jpg\" alt=\"\" border=\"0\" data-original-height=\"934\" data-original-width=\"1722\"\/><\/a><\/div>\n<p>El PoC inicia sesi\u00f3n con una cuenta normal, crea un repositorio privado inicializado, env\u00eda el parche malicioso dos veces y recupera el resultado del comando. No necesita devoluci\u00f3n de llamada saliente. El gancho almacena el resultado en objetos Git, crea una rama que contiene el resultado y permite al atacante recuperarlo a trav\u00e9s de HTTP inteligente autenticado.<\/p>\n<p>Al 29 de julio de 2026, ninguna de las fuentes primarias citadas informa si la falla fue explotada antes o despu\u00e9s de que la versi\u00f3n 1.27.1 estuviera disponible.<\/p>\n<p>La explotaci\u00f3n exitosa otorga al atacante los privilegios de la cuenta del sistema operativo Gitea. Dependiendo de c\u00f3mo est\u00e9 aislada la instancia, Gitea dijo que eso podr\u00eda exponer secretos de aplicaciones y entornos, repositorios montados, credenciales y contenidos de bases de datos, credenciales de OAuth y servicios internos accesibles.<\/p>\n<div class=\"dog_two clear\">\n<div class=\"cf\"><a href=\"https:\/\/thn.news\/sygnia-webinar\" rel=\"nofollow noopener sponsored\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"lazyload\" alt=\"Ciberseguridad\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEh3-o9La7DYm6jz5qcavVBLvRXUoQLqwrMmrvB529PbUxdg7TJZS3BMjVi4D7vd6V9vlSf_OX48mmXQWPgah_SPITaGgg4AP9YxB2AH-63YeWU39N3DXadwc_2zjIpTwCt0iyTdPZIM-KzKhDf_JDPWDGu3IbYfi1ilQE8Ly29HiKYagSIur-il4k7MMNv8\/s728-e100\/sygnia-d-3.png\" width=\"729\" height=\"91\"\/><\/a><\/div>\n<\/div>\n<p>La explotaci\u00f3n a\u00fan requiere acceso de escritura al repositorio, Git 2.32 o posterior, un habilitado <code>diffpatch<\/code> ruta y un sistema de archivos temporal ejecutable y grabable. El registro predeterminado permite que un usuario externo obtenga el acceso de escritura requerido en una instalaci\u00f3n sin cambios.<\/p>\n<p>Es f\u00e1cil pasar por alto la soluci\u00f3n en el registro de cambios. Gitea cambi\u00f3 el clon temporal de desnudo a no desnudo. El <a href=\"https:\/\/github.com\/go-gitea\/gitea\/commit\/470d34b1de87d901bd9135564d5ee18c0d339e82\">comentario de c\u00f3digo<\/a> advierte expl\u00edcitamente que los comandos de Git que usan <code>--index<\/code> puede operar en el \u00e1rbol de trabajo. El cambio se fusion\u00f3 y se respald\u00f3 el 26 de julio de 2026.<\/p>\n<p>Versi\u00f3n <a href=\"https:\/\/github.com\/go-gitea\/gitea\/releases\/tag\/v1.27.1\">1.27.1 enviado<\/a> el 27 de julio, y el aviso de seguridad sigui\u00f3 el 28 de julio. Las notas de la versi\u00f3n enumeraron el cambio en MISC como \u00abrefactor: git patch apply\u00bb, no en SEGURIDAD.<\/p>\n<p>Rod ten\u00eda <a href=\"https:\/\/x.com\/NightRang3r\/status\/2081053859581960519\">obtuvo una vista previa del RCE junto con un problema de inclusi\u00f3n de archivos separado<\/a>con un PoC recuperando <code>\/etc\/passwd<\/code> desde un host Gitea 1.27.0. Esta cuesti\u00f3n parece corresponder a un tema aparte <a href=\"https:\/\/github.com\/go-gitea\/gitea\/commit\/3e6cb7c16b837e993f90dbe1ff06dd5726b74588\">cambio incluido en 1.27.1<\/a> que alter\u00f3 tanto el renderizador del modo Org de Gitea <code>#+INCLUDE<\/code> las rutas se devuelven como texto sin formato en lugar de leerse desde el sistema de archivos del servidor. Gitea no ha publicado un aviso por separado o CVE para el problema de la inclusi\u00f3n de archivos.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Gitea, la plataforma Git autohospedada, ha solucionado una vulnerabilidad cr\u00edtica de ejecuci\u00f3n remota de c\u00f3digo. Un usuario con acceso normal de escritura al repositorio puede convertir el contenido del parche controlado por el atacante en un gancho Git activo y ejecutar comandos de shell como la cuenta de servicio de Gitea. Seguimiento como CVE-2026-60004 (Puntuaci\u00f3n [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1379,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[25,5],"tags":[176,24,2695,4139,4140,2167,2735,3259,52,169,36,265,779,55,235],"class_list":["post-1827","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-noticias","category-trending","tag-comandos","tag-cyberdefensa-mx","tag-ejecutar","tag-escritores","tag-gancho","tag-git","tag-gitea","tag-instalar","tag-los","tag-nuevo","tag-para","tag-permite","tag-rce","tag-repositorios","tag-shell"],"_links":{"self":[{"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/posts\/1827","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/comments?post=1827"}],"version-history":[{"count":0,"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/posts\/1827\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/media\/1379"}],"wp:attachment":[{"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/media?parent=1827"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/categories?post=1827"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/tags?post=1827"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}