Saltar al contenido
Beveiligingsnieuws

Fallo de Marimo Notebook: ejecución de comandos MCP

Marimo notebook kwetsbaarheid

Marimo publicó una corrección para una vulnerabilidad de alta severidad en su software de notebooks. El problema, identificado como CVE-2026-75149, está relacionado con la ejecución de comandos MCP antes de que el contenido de una libreta se procese en modo edición. En términos prácticos, una libreta especialmente preparada podría forzar que un comando llegue a ejecutarse como un subproceso local durante la apertura.

La buena noticia es clara: Marimo ya abordó el riesgo en la versión 0.23.15. Si usas una versión anterior, conviene actualizar cuanto antes y revisar cómo manejas archivos de notebooks de terceros.

Qué problema de seguridad se encontró

Según el registro asociado a la vulnerabilidad, la debilidad permite que un atacante suministre un comando a través de una libreta creada de forma maliciosa. El comportamiento se vuelve relevante cuando la libreta se abre en modo edición.

El punto crítico es que el comando puede lanzarse como un subproceso local antes de que se ejecute ninguna celda de la notebook. Esto es especialmente preocupante porque rompe la expectativa habitual de que la ejecución ocurra únicamente dentro del flujo normal de las celdas.

Detalles de la CVE y el impacto

La vulnerabilidad está catalogada como CVE-2026-75149 y afecta a versiones de Marimo anteriores a 0.23.15. La información pública también indica que el riesgo se clasifica con un impacto alto: el registro asigna una puntuación CVSS v4 de 8.7 y CVSS v3.1 de 8.8.

En cuanto al modelo del ataque, el registro menciona que se requiere interacción del usuario, pero no hace falta autenticación por parte del atacante para explotar el fallo. Dicho de otro modo: basta con que la víctima abra la libreta en el contexto correcto (modo edición).

Cómo se explota: MCP y configuración controlada por la libreta

De acuerdo con la importación de CVE hacia OSV, una libreta diseñada por un atacante puede incluir información de configuración que el sistema toma como entrada. En particular, la libreta puede proporcionar la configuración de un servidor MCP bajo control del atacante.

Cuando el operador abre la libreta en modo edición, el registro indica que el comando indicado se inicia como subproceso local antes de que cualquier celda se ejecute. Ese orden de ejecución es el núcleo del problema: la validación o el filtrado no llegaban a impedir el lanzamiento del comando en ese momento.

El caso de regresión asociado al arreglo utiliza un recurso controlado por el atacante (por ejemplo, mediante una URL) y comprueba que la sección relevante de mcp sea eliminada, lo que refuerza la idea de que el objetivo del parche era cortar el camino desde la metadata de la libreta hasta la ejecución.

La corrección en Marimo 0.23.15

Marimo liberó el arreglo en la versión 0.23.15. El CVE fue publicado el 19 de agosto, y la recomendación es actualizar a una versión que ya no se encuentre en el rango afectado.

El enfoque del parche, según la descripción disponible, se apoya en un endurecimiento de seguridad: Marimo trata la metadata de las notebooks como si estuviera bajo control del atacante. Además, pasa cualquier configuración que venga de la libreta a través de una lista de permitidos (allowlist).

En concreto, el hardening elimina secciones de configuración proporcionadas por la notebook. Entre las secciones que se retiran se incluyen:

  • ai
  • mcp
  • completion
  • secrets
  • server

Este cambio busca evitar que detalles presentes en la libreta—y por tanto manipulables—puedan convertirse en instrucciones ejecutables o en conexiones no deseadas durante el modo edición.

Qué significa “modo edición” para el riesgo

Un aspecto importante para entender el peligro es el contexto: la vulnerabilidad se asocia a cómo se comporta la aplicación cuando una libreta se abre para edición. Si tu flujo de trabajo incluye revisar o modificar notebooks de origen externo, el modo edición puede ser el gatillo que activa el problema.

Por eso, más allá de la actualización, también conviene adoptar medidas de higiene: evita abrir archivos sospechosos, limita permisos del entorno y revisa de dónde provienen tus notebooks.

Relación con otras vulnerabilidades previas

Esta CVE se considera separada de un fallo anterior (CVE-2026-39987) que afectaba versiones 0.20.4 y anteriores. En ese caso, la asesoría de Marimo señalaba una validación de autenticación faltante en el endpoint /terminal/ws. Las solicitudes que llegaran a ese endpoint podían obtener un shell con pseudo-terminal (PTY) y ejecutar comandos arbitrarios. Marimo indicaba 0.23.0 como versión corregida para esa vulnerabilidad.

Además, existe otra referencia relevante: CVE-2026-67618, divulgada el 4 de agosto de 2026, con una puntuación CVSS 7.1. Este aviso describe otro límite de configuración: el uso de un base_url controlado por el atacante mediante metadata de la libreta, de modo que, tras una solicitud posterior, el endpoint recibiría la API key del operador sin que una celda necesitara ejecutarse.

En conjunto, estos informes muestran un patrón: cuando la metadata o la configuración interna de una libreta puede interpretarse como confiable, surgen vías para exfiltración o ejecución no intencionada. El endurecimiento aplicado en la versión 0.23.15 encaja con esa lección.

Quién descubrió la vulnerabilidad

El registro de la CVE atribuye el descubrimiento a Gregory Tan, identificado con el handle Grg0rry. El mismo identificador también figura como coautor de un commit relacionado con el endurecimiento de Marimo (mencionado en la información disponible en torno al hardening).

Recomendaciones prácticas para usuarios

Si utilizas Marimo, estos pasos te ayudarán a reducir el riesgo:

  • Actualiza ya: pasa a la 0.23.15 o a una versión posterior.
  • Revisa tu política de notebooks: evita abrir notebooks de fuentes no confiables, especialmente en entornos donde puedas activar modo edición.
  • Mantén tu software al día: Marimo indica que las correcciones de seguridad se proporcionan para la versión estable más reciente y recomienda no quedarse atrás.

Además, vale la pena confirmar qué versión exacta tienes instalada. En la información pública reportada, la versión vigente en PyPI al momento de la verificación era 0.24.0, mientras que la publicación de 0.23.15 se sitúa en 23 de julio de 2026. Si estás en el rango afectado, conviene moverse a una versión fuera de él.

Conclusión

La vulnerabilidad CVE-2026-75149 evidencia un riesgo serio en notebooks: la posibilidad de que comandos MCP lleguen a ejecutarse como subproceso local al abrir una libreta en modo edición, antes de que se ejecuten las celdas. Marimo corrigió el problema en 0.23.15 mediante un endurecimiento que trata la metadata como no confiable y aplica un control estricto a las secciones provenientes de la libreta.

Si quieres mantener un entorno seguro, actualiza, reduce la exposición a archivos de terceros y estandariza buenas prácticas al trabajar con notebooks. Con estos cambios, puedes evitar que una configuración manipulada convierta una revisión en una ejecución no autorizada.

Fuente: https://thehackernews.com/2026/08/marimo-notebook-flaw-could-run-mcp.html