Background

Modern Linux desktop virtualization stacks route VM audio through the host audio server — typically PipeWire — via SPICE or VirtIO-sound. The assumption baked into this architecture is that the boundary between host audio context and guest audio context is enforced at the application layer.

It isn’t.

The Finding

Through careful mapping of the full PipeWire/SPICE audio pipeline, I confirmed that bidirectional silent audio injection is possible between a host and a running VM guest. An attacker with access to either side of the boundary can inject audio data into the other side without any user-visible indication.

Note
This finding is currently under responsible disclosure. A full PoC and technical report will be published following vendor response.

Architecture Overview

The relevant stack:

Guest Application
      ↓
PulseAudio/PipeWire (guest)
      ↓
VirtIO-sound / SPICE audio channel
      ↓
QEMU audio backend
      ↓
PipeWire (host)
      ↓
Physical hardware

The isolation assumption fails at the QEMU audio backend layer, where shared memory regions used for audio buffering are not properly access-controlled between the host PipeWire context and the guest.

Impact

Status

Under responsible disclosure. CVE request pending.

Full paper and PoC to follow.