{"id":"CVE-2025-32428","kind":"vulnerability","aliases":["CVE-2025-32428","GHSA-vrq4-9hc3-cgp7"],"related":[],"title":"TigerVNC accessible via the network and not just via a UNIX socket as intended","description":"## Summary\n\n`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.\n\nThis vulnerability does not affect users having TurboVNC as the `vncserver` executable.\n\n## Credits\n\nThis vulnerability was identified by Arne Gottwald at University of Göttingen and analyzed, reported, and reviewed by @frejanordsiek.","summary":"jupyter-remote-desktop-proxy 3.0.0 was meant to expose the VNC server only over a UNIX socket readable by the current user, but with TigerVNC the VNC server still listens on the network. A network attacker who can reach that port can connect to the remote desktop session without going through Jupyter's authentication.","severity":"critical","cvss":9.0,"epss":0.00916,"exploited":false,"exploited_at":null,"products":[{"name":"jupyter-remote-desktop-proxy","fixed":["3.0.1"],"affected":"= 3.0.0","ecosystem":"pypi"}],"ecosystems":["pypi"],"tags":["cwe-668","jupyter","jupyterhub","package","python","self-hosted"],"not_affected_if":["loopback-only-network","non-3.0.0-version","turbovnc"],"how_to_check":"- Run `pip show jupyter-remote-desktop-proxy` and confirm the installed version is `3.0.0`\n- Check whether the `vncserver` on the path is TigerVNC rather than TurboVNC, for example with `vncserver -version`\n- Check whether the VNC port is listening on a non-loopback address, for example with `ss -ltnp`","fix":"- Upgrade jupyter-remote-desktop-proxy to `3.0.1`\n- Until the upgrade is done, block the VNC port at the host or network firewall","status":"open","published_at":"2025-04-12T03:42:31+00:00","first_seen_at":"2026-10-27T17:27:29+00:00","triaged_at":"2026-10-27T17:28:01+00:00","updated_at":"2026-10-27T17:32:47+00:00","category":"package","confidence":0.8,"triage":{"at":"2026-10-27T17:28:01Z","model":"claude-haiku-5-5","output":{"fix":"- Upgrade jupyter-remote-desktop-proxy to `3.0.1`\n- Until the upgrade is done, block the VNC port at the host or network firewall","reach":"network","title":"jupyter-remote-desktop-proxy: TigerVNC server reachable from the network, not just locally","impact":"high","summary":"jupyter-remote-desktop-proxy 3.0.0 was meant to expose the VNC server only over a UNIX socket readable by the current user, but with TigerVNC the VNC server still listens on the network. A network attacker who can reach that port can connect to the remote desktop session without going through Jupyter's authentication.","category":"package","nicknames":[],"who_cares":["python","jupyter","self-hosted","jupyterhub"],"confidence":0.8,"needs_auth":"unknown","worst_case":"Attacker reaches the remote desktop session over the network without credentials","analyst_note":"","how_to_check":"- Run `pip show jupyter-remote-desktop-proxy` and confirm the installed version is `3.0.0`\n- Check whether the `vncserver` on the path is TigerVNC rather than TurboVNC, for example with `vncserver -version`\n- Check whether the VNC port is listening on a non-loopback address, for example with `ss -ltnp`","needs_analyst":false,"not_affected_if":["turbovnc","non-3.0.0-version","loopback-only-network"],"who_is_affected":"Teams running jupyter-remote-desktop-proxy 3.0.0 with TigerVNC as the vncserver executable, typically on shared or multi-user Jupyter hosts. Installations that use TurboVNC as vncserver are not affected according to the advisory, and the issue is only relevant if the VNC port is reachable from the network.","user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"critical"},"cost_usd":0.000669,"input_tokens":3450,"output_tokens":647,"severity_before":"critical"},"analyst_status":null,"analyst_note":null,"search":"'-2025':16A,24A '-32428':17A,25A '-668':32B '3.0.0':45B,116C '9hc3':21A 'access':2A,134C 'affect':142C 'analyz':163C 'arn':156C 'attack':76B 'authent':94B 'cgp7':22A 'connect':83B 'credit':150C 'current':61B,112C 'cve':15A,23A 'cwe':31B 'desktop':29A,43B,87B,99C,130C 'execut':149C 'expos':49B 'frejanordsiek':168C 'ghsa':19A 'ghsa-vrq4-9hc3-cgp7':18A 'go':90B 'gottwald':157C 'göttingen':161C 'host':39B 'identifi':154C 'intend':14A 'jupyt':33B,41B,92B,97C,128C 'jupyter':27A 'jupyter-remote-desktop-proxi':40B,96C,127C 'jupyter-remote-desktop-proxy':26A 'jupyterhub':34B 'listen':70B 'meant':47B,102C 'network':5A,73B,75B,137C 'packag':35B 'port':81B 'proxi':44B,100C,131C 'proxy':30A 'python':36B 'reach':79B 'readabl':58B,108C 'reli':104C 'remot':42B,86B,98C,129C 'remote':28A 'report':164C 'review':166C 'self':38B 'self-host':37B 'server':52B,68B,124C 'session':88B 'sinc':114C 'socket':12A,57B,107C 'start':125C 'still':69B,133C 'summari':95C 'tigervnc':1A,65B,121C 'turbovnc':145C 'univers':159C 'unix':11A,56B,106C 'use':119C 'user':62B,113C,143C 'version':115C 'via':3A,9A,135C 'vnc':51B,67B,123C 'vncserver':148C 'vrq4':20A 'vulner':139C,152C 'without':89B","nicknames":[],"mitigations":[],"who_affected":"Teams running jupyter-remote-desktop-proxy 3.0.0 with TigerVNC as the vncserver executable, typically on shared or multi-user Jupyter hosts. Installations that use TurboVNC as vncserver are not affected according to the advisory, and the issue is only relevant if the VNC port is reachable from the network.","tier":"B","verified":{},"analyst_revisit_at":null,"first_public_at":"2025-04-12T03:42:31+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:A/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","cvss_by":"security-advisories@github.com","poc_count":0,"sources":[{"source":"ghsa","external_id":"GHSA-vrq4-9hc3-cgp7","url":"https://github.com/advisories/GHSA-vrq4-9hc3-cgp7","severity":"critical","published_at":"2025-04-12T03:42:31+00:00","modified_at":"2026-10-27T17:24:28+00:00","first_seen_at":"2026-10-27T17:27:29+00:00","fetched_at":"2026-10-27T17:27:29+00:00","note":null},{"source":"nvd","external_id":"CVE-2025-32428","url":"https://nvd.nist.gov/vuln/detail/CVE-2025-32428","severity":null,"published_at":"2025-04-15T00:15:14+00:00","modified_at":"2026-06-17T09:11:58+00:00","first_seen_at":"2026-10-27T17:32:47+00:00","fetched_at":"2026-10-27T17:32:47+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}