Descripción
JupyterLab Desktop es la aplicación de escritorio multiplataforma de JupyterLab. Antes de la versión 4.6.2-1, JupyterLab Desktop exponía getServerInfo al renderizador sin confirmar que la página actual mantuviera el origen del servidor Jupyter local. En una sesión local administrada que use JupyterLab anterior a 4.4.8, un atacante puede colocar un enlace MathJax especialmente manipulado en un notebook no confiable. Si una víctima abre el notebook y hace clic en el enlace, el renderizador existente navega a un sitio controlado por el atacante y conserva el acceso al puente de precarga (preload). El sitio puede llamar a getServerInfo para obtener la URL del servidor local y el token de autenticación, y luego usar la API REST de Jupyter para crear y marcar como confiable un notebook que ejecuta código arbitrario como la víctima. Los usuarios cuyo entorno ya usa JupyterLab 4.4.8 o posterior no se ven afectados, porque el manejo corregido de enlaces interrumpe el primer paso de la cadena. Esta vulnerabilidad se corrigió en la versión 4.6.2-1.
Qué hacer
Revisa si usas el producto afectado y en qué versión, y aplica la actualización o la mitigación que indique el aviso del fabricante. CISA no ha confirmado que se esté explotando; si eso cambia, esta ficha pasa a «explotada» y te avisamos en el boletín.
Versiones afectadas
- jupyterlab-desktop Afectadas: < 4.6.2-1
Según el registro de la vulnerabilidad en CVE.org, tal como lo publicó el fabricante. Confirma tu versión exacta en el aviso del fabricante.
Referencias
- Referencia en github.comgithub.com/jupyterlab/jupyterlab-desktop/security/advisories/GHSA-2mr…
- Referencia en github.comgithub.com/jupyterlab/jupyterlab-desktop/commit/7f8f64ae796efae77d106…
- Referencia en github.comgithub.com/jupyterlab/jupyterlab-desktop/releases/tag/v4.6.2-1
Ver el texto original en inglés (CVE.org)
JupyterLab Desktop: One-Click Jupyter Server Token Leak leading to Remote Code Execution
JupyterLab Desktop is the cross-platform desktop application for JupyterLab. Prior to 4.6.2-1, JupyterLab Desktop exposed getServerInfo to the renderer without confirming that the current page still had the local Jupyter server origin. In a local managed session using JupyterLab before 4.4.8, an attacker can place a crafted MathJax link in an untrusted notebook. If a victim opens the notebook and clicks the link, the existing renderer navigates to an attacker-controlled site while retaining access to the preload bridge. The site can call getServerInfo to obtain the local server URL and authentication token, then use the Jupyter REST API to create and trust a notebook that executes arbitrary code as the victim. Users whose environment already uses JupyterLab 4.4.8 or later are unaffected because the corrected link handling breaks the first step of the chain. This vulnerability is fixed in 4.6.2-1.