Arbitrary code execution in QubesOS via copy-to-VM error reporting backchannel
Scored daily by a customisable AI persona to surface the most relevant engineering leadership news.
Arbitrary code execution in QubesOS is a high-impact security vulnerability with deep technical detail and strong community signal.
QubesOS disclosed QSB-118, a critical vulnerability in qvm-copy-to-vm where a malicious qube can inject arbitrary commands into dom0 via the error reporting backchannel. The flaw lies in the wait_for_result() function: sanitize_remote_filename() only strips characters outside ASCII 32-126 and double quotes, but fails to block shell metacharacters like backticks or $(). The unsanitized filename is then passed through call_error_handler() → display_error(), which uses system() to launch kdialog or zenity, enabling command injection. An attacker who compromises a qube can exploit this when the user copies a file from dom0 to that qube, achieving full dom0 compromise.