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-2026-39987_PoC — A proof-of-concept for CVE-2026-39987 | Kitploit
Herramientas/GitHubGitHub/wind010/cve-2026-39987_poc
ExploitationWeb Application ExploitationPost-ExploitationPenetration TestingRemote Access Tool
GitHubwind010/cve-2026-39987_poc

CVE-2026-39987_PoC

A proof-of-concept for CVE-2026-39987

Ver Repositorio
1hace 17 díasAú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

CVE-2026-39987-PoC

Descargo de responsabilidad Este script es SOLO para fines educativos y de pruebas autorizadas. El uso no autorizado de esta herramienta contra sistemas sin permiso explícito es ILEGAL. El autor no es responsable de ningún uso indebido de esta información.

Las versiones de Marimo anteriores a 0.23.0 tienen una vulnerabilidad crítica de ejecución remota de comandos (RCE) sin autenticación previa. El endpoint /terminal/ws no implementa controles de acceso adecuados, lo que permite a un atacante no autenticado obtener acceso completo a un shell interactivo del sistema.

DetallesInformación
CVECVE-2026-39987
GravedadCRÍTICA
Puntuación CVSS9.3 (CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H)
TipoEjecución remota de código (RCE) sin autenticación previa
VectorWebSocket (/terminal/ws)
Producto afectadoMarimo < 0.23.0
ParcheMarimo ≥ 0.23.0

Identificación

Dork de Shodan

http.favicon.hash:-1864630356

Dork de Censys

services.http.response.favicons.hashes: -1864630356

Huella digital

  • Hash del favicon: -1864630356
  • Versión del endpoint: /api/version

Instalación

Requiere Python 3.10+. Las dependencias se gestionan con uv, de Astral.

root@kitploit:~
# install uv (skip if already installed)
curl -LsSf https://astral.sh/uv/install.sh | sh

uv venv
uv pip install -r requirements.txt

Uso

root@kitploit:~
uv run poc.py -t <target_url>
  • -t, --target_url (obligatorio): URI WebSocket del endpoint /terminal/ws del objetivo.
root@kitploit:~
uv run poc.py -t wss://<target-host>/terminal/ws

Una vez conectado, obtienes una sesión pty interactiva sin procesar. Comandos adicionales disponibles localmente (nunca se envían al shell remoto tal como se escriben):

Pulsa Ctrl+C para interrumpir/salir.

Mitigación

  • Parche: Actualiza Marimo a >= 0.23.0, que corrige la falta de control de acceso en /terminal/ws.
  • Restringe la exposición en red: No expongas el servidor de terminal/edición de Marimo directamente a Internet. Vincúlalo a localhost o a una interfaz interna y colócale delante una VPN/bastión para el acceso remoto.
  • Añade autenticación: Si la actualización no es posible de inmediato, coloca el servicio detrás de un proxy inverso que exija autenticación (p. ej., proxy OAuth2, mTLS) delante de /terminal/ws y de otras rutas de API.
  • Segmentación de red: Protege el puerto con un cortafuegos para que solo IPs/rangos de VPN de confianza puedan acceder a él.
  • Detección: Supervisa las conexiones WebSocket inesperadas a /terminal/ws y la actividad de shell no autenticada en los registros del servidor; los dorks de Shodan/Censys anteriores también pueden usarse de forma defensiva para encontrar tus propias instancias expuestas y sin parchear.

Referencias:

  • https://nvd.nist.gov/vuln/detail/CVE-2026-39987
  • https://lyrie.ai/research/research/cve-2026-39987-marimo-pre-auth-rce-root-in-one-request
Descargar herramienta
ComandoDescripción
.uploadAbre un prompt local para una ruta de archivo local y un destino remoto, y luego sube el archivo.
!upload <local_path> <remote_path>Igual que lo anterior, en una sola línea.
!download <remote_path> <local_path>Descarga un archivo del objetivo a tu máquina local.
/exit, /byeFinaliza la sesión localmente.