CVE-2025-32428 in Remote Desktop Proxyinfo

Summary

by MITRE • 04/15/2025

Jupyter Remote Desktop Proxy allows you to run a Linux Desktop on a JupyterHub. jupyter-remote-desktop-proxy was meant to rely on UNIX sockets readable only by the current user since version 3.0.0, but when used with TigerVNC, the VNC server started by jupyter-remote-desktop-proxy were still accessible via the network. This vulnerability does not affect users having TurboVNC as the vncserver executable. This issue is fixed in 3.0.1.

Once again VulDB remains the best source for vulnerability data.

Analysis

by VulDB Data Team • 04/15/2025

The jupyter-remote-desktop-proxy vulnerability CVE-2025-32428 represents a critical security flaw in the remote desktop functionality of JupyterHub environments. This proxy component was designed to provide users with access to Linux desktop environments through JupyterHub interfaces, enabling remote desktop sessions that could be particularly useful for data science and research workflows. The vulnerability specifically emerged from a design inconsistency in version 3.0.0 where the developers intended to implement security measures using UNIX sockets that would be restricted to the current user, thereby preventing unauthorized network access to desktop sessions.

The technical flaw stems from the proxy's handling of VNC server initialization when integrated with TigerVNC as the VNC server executable. While the software was programmed to utilize UNIX sockets for secure local access, the implementation failed to properly enforce socket permissions when TigerVNC was used. This allowed network-based access to the VNC server instances that should have been restricted to local users only, creating a significant attack surface where unauthorized network users could potentially connect to running desktop sessions. The vulnerability specifically affects the network accessibility of VNC servers started by jupyter-remote-desktop-proxy when using TigerVNC, while maintaining proper security controls when TurboVNC is used instead.

The operational impact of this vulnerability is substantial for organizations deploying JupyterHub with remote desktop capabilities, particularly in shared or multi-user environments where security boundaries are critical. An attacker with network access to the JupyterHub server could potentially establish unauthorized VNC sessions, gaining access to user desktop environments, executing arbitrary commands, and potentially accessing sensitive data processed within those sessions. This represents a direct violation of the principle of least privilege and could enable privilege escalation or data exfiltration attacks. The vulnerability's scope extends beyond simple unauthorized access to include potential system compromise through desktop environment exploitation, making it particularly dangerous in research or enterprise environments where sensitive data processing occurs.

The security implications of this vulnerability align with CWE-284 (Improper Access Control) and CWE-276 (Incorrect Default Permissions) categories, as the system failed to properly implement access controls and default security configurations. From an adversarial perspective, this vulnerability maps to ATT&CK technique T1078 (Valid Accounts) and T1566 (Phishing) where attackers could leverage compromised desktop sessions for further system compromise. The fix implemented in version 3.0.1 addresses the core issue by ensuring that the socket permissions are properly enforced regardless of the VNC server executable being used, thereby restoring the intended security model of restricting access to local users only. Organizations should immediately upgrade to version 3.0.1 or later, conduct security reviews of existing deployments, and implement network segmentation measures to limit exposure while the upgrade is in progress.

Responsible

GitHub M

Reservation

04/08/2025

Disclosure

04/15/2025

Moderation

accepted

CPE

ready

EPSS

0.00110

KEV

no

Activities

very low

Sources

Do you want to use VulDB in your project?

Use the official API to access entries easily!