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
gitea-CVE-2026-28699 — Laboratorio + writeup para CVE-2026-28699: bypass de la aplicación de alcance OAuth2 de Gitea a través de autenticación básica HTTP | Kitploit
Herramientas/GitHubGitHub/alardiians/gitea-cve-2026-28699
Autenticación y AutorizaciónAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebCTFPruebas de PenetraciónAprendizaje y EducaciónLabs y Práctica

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
GitHub
alardiians/gitea-cve-2026-28699

gitea-CVE-2026-28699

Laboratorio + writeup para CVE-2026-28699: bypass de la aplicación de alcance OAuth2 de Gitea a través de autenticación básica HTTP

Ver Repositorio
112hace 3 mesesAún no revisado

CVE-2026-28699: Omisión de alcance OAuth2 de Gitea a través de autenticación básica HTTP

Un token de acceso OAuth2 de Gitea con alcance solo read:user puede realizar acciones de escritura completas cuando se envía como Authorization: Basic base64(<token>:x-oauth-basic) en lugar de como un token Bearer. La verificación de alcance se omite para cualquier token presentado a través de autenticación básica.

Afectado: <= 1.26.1. Corregido en 1.26.2. Aviso: GHSA-9r5x-wg6m-x2rc. CWE-863. Gravedad Alta.

Informe completo: WRITEUP.md

Inicio rápido

root@kitploit:~
pip install -r requirements.txt   # requests
python fetch_binaries.py          # pulls vulnerable 1.26.1 + patched 1.26.2 for your OS
python poc.py 1.26.1              # vulnerable: Basic-auth write succeeds (scope bypassed)
python poc.py 1.26.2              # patched: Basic-auth write blocked (403)

poc.py levanta una instancia desechable de Gitea en SQLite en el directorio temporal del sistema, ejecuta el flujo de código de autorización OAuth2 para generar un token de solo read:user, luego llama a un endpoint de escritura tanto con Bearer como con Basic e imprime el veredicto. Establece POC_DEBUG=1 para ver los pasos del flujo de autenticación.

Salida esperada

Vulnerable 1.26.1:

root@kitploit:~
[Bearer] PATCH /api/v1/user/settings -> HTTP 403   (blocked)
[Basic ] PATCH /api/v1/user/settings -> HTTP 200   (ALLOWED -- scope BYPASSED)
>>> VULNERABLE: read:user token performed a write via Basic auth.

Corregido 1.26.2:

root@kitploit:~
[Bearer] PATCH /api/v1/user/settings -> HTTP 403   (blocked)
[Basic ] PATCH /api/v1/user/settings -> HTTP 403   (blocked)
>>> PATCHED: scope enforced on both Bearer and Basic.

Causa raíz en una tabla

services/auth/basic.go establecía IsApiToken pero no ApiTokenScope para tokens OAuth2. El middleware tokenRequiresScopes retorna temprano cuando el alcance está ausente, por lo que no se verifica nada. La corrección 1.26.2 añade el store.GetData()["ApiTokenScope"] = accessTokenScope faltante.

Archivos

Solo uso autorizado

Para educación y pruebas de seguridad autorizadas: tu propio laboratorio, máquinas CTF y HTB, objetivos de bug bounty dentro del alcance. El PoC ejecuta su propio Gitea desechable, así que no lo apuntes a nada que no poseas.

Descargar herramienta
Presentación de autenticaciónIsApiTokenApiTokenScope¿alcance aplicado?
Token OAuth2 vía Bearertruesetsí
Token OAuth2 vía Basictruefaltano (falla abierto)
Token de acceso personaltruesetsí
ArchivoPropósito
WRITEUP.mdAnálisis de causa raíz, impacto, remediación, detección
fetch_binaries.pyDescarga los binarios 1.26.1 / 1.26.2 para tu SO/arquitectura
poc.pyAprovisiona Gitea, genera un token read:user, prueba Bearer vs Basic
requirements.txtrequests