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-2025-57298 — Divulgación de CVE-2025-57298. | Kitploit
Herramientas/GitHubGitHub/minnggyuu/cve-2025-57298
Análisis de VulnerabilidadesExplotación de Aplicaciones WebSeguridad WebPapers e InvestigaciónAprendizaje y Educación
GitHubminnggyuu/cve-2025-57298

CVE-2025-57298

Divulgación de CVE-2025-57298.

Ver Repositorio
hace 6 mesesAún no revisado

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

Stored XSS via Renderizado Inseguro de Markdown en Kotaemon

Resumen

Kotaemon es un sistema de preguntas y respuestas sobre documentos basado en RAG (Generación Aumentada por Recuperación) de código abierto que proporciona una interfaz web para consultar documentos subidos como PDF, Word y archivos Excel.

Existe una vulnerabilidad de cross-site scripting (XSS) almacenada en la canalización de renderizado de documentos de Kotaemon. El contenido controlado por el usuario es procesado por un LLM y renderizado en la interfaz web después de la conversión de markdown a HTML sin una sanitización adecuada, lo que permite que elementos HTML proporcionados por el atacante se inyecten de forma persistente en la página.

Cuando se sube un documento, el sistema activa automáticamente una solicitud de resumen (por ejemplo, "resume este archivo") como parte del flujo de procesamiento normal. Como resultado, cualquier documento subido se pasa implícitamente a través de la canalización de análisis y renderizado de markdown, haciendo que la vulnerabilidad sea explotable solo con la subida del documento sin requerir interacción explícita del usuario.


Versiones Afectadas

Se confirma que las siguientes versiones de Kotaemon son vulnerables:

  • Versión <= 0.11.0

Componente Afectado

  • Característica de renderizado / resumen de documentos
  • Lógica de conversión de Markdown a HTML

Código Afectado

kotaemon/blob/main/libs/ktem/ktem/utils/render.py

root@kitploit:~
@staticmethod
def table(text: str) -> str:
    """Render table from markdown format into HTML"""
    text = replace_mardown_header(text)
    return markdown.markdown(
        text,
        extensions=[
            "markdown.extensions.tables",
            "markdown.extensions.fenced_code",
        ],
    )

Causa Raíz

La aplicación depende de la función markdown.markdown() para convertir contenido markdown generado por LLM a HTML. Sin embargo, la salida HTML convertida se renderiza directamente en el navegador sin sanitización HTML ni escape de salida.

Como resultado, la sintaxis de markdown que produce elementos HTML sin procesar —más notablemente la sintaxis de imagen ![]()— se convierte en HTML ejecutable como etiquetas `` y se almacena en la salida de la conversación.


Prueba de Concepto (PoC)

Payload

"summary" means "![](https://example.com)"

Pasos de Explotación

  1. Sube un documento que contenga el payload anterior.
  2. Selecciona la opción Buscar Todo.
  3. El sistema emite automáticamente una solicitud de resumen para el documento subido.
  4. La respuesta generada por el LLM incluye el markdown malicioso.
  5. El markdown se convierte en una etiqueta HTML `` y se renderiza sin filtrado.

Comportamiento Observado

  • La sintaxis de imagen markdown inyectada se convierte en una etiqueta HTML ``.
  • Al renderizarse, el navegador emite automáticamente una solicitud a la URL controlada por el atacante.
  • El HTML inyectado persiste en la salida de la conversación.

Impacto

La capacidad de inyectar elementos HTML persistentes permite a los atacantes:

  • Desencadenar solicitudes GET no autorizadas (por ejemplo, /logout)
  • Causar efectos similares a CSRF
  • Manipular el contenido de la interfaz de usuario renderizada

La explotación requiere solo la subida de un documento y ocurre automáticamente durante el resumen, sin necesidad de interacción adicional del usuario.

El renderizado de HTML sin sanitizar puede permitir la ejecución de JavaScript a través de manejadores de eventos dependiendo del contexto de renderizado del frontend.


Evidencia

image-1

image-2

image-3


Clasificación de la Vulnerabilidad

  • Tipo: Cross-Site Scripting (XSS) Almacenado
  • Vector: Renderizado inseguro de markdown a HTML
  • Persistencia: Sí
  • Interacción del usuario requerida: No

Correcciones Recomendadas

  1. Sanitizar la salida HTML después de la conversión de markdown a HTML.
  2. Evitar acciones que cambien el estado mediante solicitudes GET.
  3. Tratar las entradas de RAG y las salidas del LLM como datos no confiables.

Crédito

Este informe fue preparado por minnggyuu. (Equipo 404 Not Found, WhiteHat School 3.ª Cohorte, Corea del Sur)


Contacto

Correo electrónico: [email protected]
GitHub: https://github.com/minnggyuu

Descargar herramienta