En el cuaderno interactivo Marimo se ha corregido la vulnerabilidad de alta gravedad CVE-2026-75149, que permitía a un atacante inyectar un comando arbitrario de Model Context Protocol (MCP) a través de la configuración de un cuaderno especialmente preparado. Al abrir dicho cuaderno en modo de edición, el comando se ejecutaba como un subproceso local, incluso antes de que se ejecutara ninguna celda de código. La vulnerabilidad afecta a todas las versiones de Marimo anteriores a la 0.23.15 y se ha corregido en este lanzamiento. Los usuarios deben actualizar al menos a la versión 0.23.15 y, preferiblemente, a la versión 0.24.0 actual.
Detalles técnicos de la vulnerabilidad
Según la entrada de CVE en la base de datos OSV, la vulnerabilidad se clasifica como code injection. VulnCheck, como organización CNA, le ha asignado una puntuación de CVSS v4 8.7 y CVSS v3.1 8.8. Para su explotación se requiere interacción del usuario (abrir el cuaderno malicioso), pero no se necesita autenticación del atacante.
El mecanismo de ataque funciona del siguiente modo: un cuaderno especialmente creado contiene en sus metadatos una configuración de servidor MCP con un comando arbitrario. Cuando la víctima abre ese cuaderno en modo de edición, el comando indicado se lanza como un subproceso local, y esto ocurre antes de la ejecución de cualquier celda del cuaderno. Esto significa que incluso un usuario precavido que no ejecute código manualmente queda comprometido por el mero hecho de abrir el archivo.
CVE se publicó el 19 de agosto de 2026. El descubrimiento de la vulnerabilidad se atribuye al investigador Gregory Tan (Grg0rry), que también figura como coautor del commit que la corrige.
Enfoque de corrección: tratar los metadatos como entrada no confiable
La decisión arquitectónica clave en el parche PEP 723 es que ahora los metadatos del cuaderno se tratan como potencialmente controlados por un atacante. Toda la configuración que procede del cuaderno pasa por una lista blanca (allowlist). Las siguientes secciones de configuración se eliminan de forma forzada al cargar:
- ai — ajustes de integración con IA
- mcp — configuración de servidores MCP
- completion — parámetros de autocompletado
- secrets — secretos y claves
- server — ajustes del servidor
El parche incluye una prueba de regresión que utiliza una URL controlada por el atacante y comprueba que la sección mcp se elimina efectivamente de la configuración cargada.
Vulnerabilidades relacionadas: un problema sistémico de confianza en los metadatos
CVE-2026-75149 no es un caso aislado. El mismo límite de confianza en la configuración procedente de los metadatos del cuaderno se utilizó en otra vulnerabilidad, CVE-2026-67618 (CVSS 7.1), revelada por VulnCheck el 4 de agosto de 2026. En este caso, el atacante inyectaba a través de los metadatos del cuaderno una dirección maliciosa del servicio de IA (base_url). Cuando el operador enviaba posteriormente una petición a la IA, su API key se transmitía a un servidor controlado por el atacante, de nuevo sin necesidad de ejecutar ninguna celda de código. Ambas vulnerabilidades afectan a las versiones anteriores a la 0.23.15.
Anteriormente también se había descubierto otra vulnerabilidad en Marimo: CVE-2026-39987, relacionada con la ausencia de autenticación en el endpoint /terminal/ws. Según el boletín oficial de Marimo, las peticiones a este endpoint permitían obtener una shell de pseudo-terminal completa (PTY) y ejecutar comandos arbitrarios. Este problema afectaba a las versiones 0.20.4 y anteriores y se corrigió en la versión 0.23.0.
Tres vulnerabilidades en un periodo relativamente corto apuntan a un problema sistémico: inicialmente Marimo no consideraba los archivos de cuadernos ni sus metadatos como entrada potencialmente hostil. Este es un error habitual en herramientas que se diseñaron para uso local, pero que han empezado a emplearse en escenarios colaborativos y distribuidos, donde los cuadernos pueden proceder de fuentes no confiables.
Evaluación del impacto
Corren el mayor riesgo los especialistas en procesamiento de datos y los desarrolladores que utilizan Marimo para el trabajo colaborativo o que reciben cuadernos de fuentes externas —repositorios, foros, material formativo—. Abrir un archivo malicioso en modo de edición basta para que se produzca la intrusión: el atacante obtiene la capacidad de ejecutar código arbitrario en el contexto del usuario local sin ningún tipo de advertencia visible.
Recomendaciones
- Actualice Marimo a la versión 0.23.15 o posterior. La versión actual en PyPI es la 0.24.0 (publicada el 17 de agosto de 2026).
- Compruebe la versión actual con el comando
pip show marimo. - No abra cuadernos de fuentes no confiables en modo de edición hasta actualizar.
- Audite los metadatos de los cuadernos recibidos del exterior: compruebe la presencia de las secciones
mcp,ai,server,secretsen la configuración antes de abrirlos. - Según la política de seguridad de Marimo, los parches solo se publican para la última versión estable; mantener una versión actualizada es fundamental.
Las tres vulnerabilidades en Marimo, corregidas en las versiones 0.23.0 y 0.23.15, demuestran que el formato de cuaderno interactivo no es solo un documento, sino un vector de ataque potencial. La única acción realmente fiable es actualizar de inmediato a la versión 0.24.0 y revisar las prácticas de intercambio de cuadernos en el equipo, teniendo en cuenta que un archivo de cuaderno puede contener una configuración maliciosa que se ejecute sin necesidad de lanzar código de forma explícita.