Attacker obtains code execution in sd-viewer VM partially mitigated

THREATQW1 · Partially mitigated: Some controls are in place, but the risk is still too high. · Defined in catalog.py:2977

Risk
High impact × Medium likelihood = 9 high
After mitigations
Low impact × Low likelihood = 2 low

How statuses and scores work

An attacker submits malware to a SecureDrop instance exploiting an unpatched vulnerability in the software running on the sd-viewer VM

Mitigations

Mitigation Status
Use non-networked disposible VMs for opening all decrypted files. MITIGQW18 implemented
sd-proxy has server hardcoded MITIGQW36 proposed

Possible further mitigations

Residual risk

Full attack surface of a Linux host. Attacker can exfiltrate documents via replies to sources.

Related threats

This threat is part of: Vulnerability introduced in provisioning code THREATQW15

Smaller threats that make up this one:

Where it applies

Applies to 1 component in 2 scenarios.

Workstation: reading submissions · sd-viewer (disposable VMs)
Workstation: export and print · sd-viewer (disposable VMs)

Notes

Existing mitigations: Display VM is a disposable VM and is recreated for each submission (MITIGQW18), Qubes uses Xen-based PVH virtualization for VMs. Display VM does not have network access. Exfiltration of documents can only occur via sd-proxy (MITIGQW36). Further mitigations: Use a hardened template VM for the DisplayVM: grsecurity (MITIGQW3) and apparmor would help protect against unknown vulnerabilities or if the template was improperly patched. Limiting size of journalist replies (MITIGQW37). Logging exfiltration attempts (MITIGQW38). Throttling (MITIGQW39).

How this threat is matched

Listed for these components. A boundary covers every component inside it.