Attacker obtains code execution in any VM partially mitigated
THREATQW36
· Partially mitigated: Some controls are in place, but the risk is still too high.
· Defined in catalog.py:3526
- Risk
- High impact × Low likelihood = 6 medium
- After mitigations
- Medium impact × Low likelihood = 4 medium
Qubes.OpenInVM and Qubes.OpenURL RPC policy is @anyvm @dispvm ask allow and @anyvm @anyvm ask, a user could accidentally click on the allow and would allow an attacker to do lateral movement within the SecureDrop Workstation environment
Threat actors: Nation State / Law Enforcement Large Corporation Developer error Journalist error
Mitigations
| Mitigation | Status |
|---|---|
| Default Qubes-RPC deny policy MITIGQW15 | implemented |
| grsecurity in all Debian templates MITIGQW3 | implemented |
Possible further mitigations
- Default Qubes-RPC deny policy MITIGQW15 implemented
Related threats
This threat is part of: Vulnerability introduced in provisioning code THREATQW15
Smaller threats that make up this one:
- Privilege escalation (Xen vulnerability) THREATQW11 accepted
- Vulnerability in the QubesOS management layer THREATQW27 transferred
Where it applies
Applies to 9 components in 3 scenarios.
- sd-app (SecureDrop Client)
- sd-devices (export and print)
- sd-gpg
- sd-log
- sd-proxy
- sd-viewer (disposable VMs)
- sys-firewall
- sys-net
- sys-usb
Workstation: reading submissions · sd-app (SecureDrop Client), sd-proxy, sys-firewall, sys-net, sd-gpg, sd-viewer (disposable VMs), sd-log
Workstation: export and print · sd-app (SecureDrop Client), sd-devices (export and print), sys-usb, sd-viewer (disposable VMs), sd-log
Notes
Existing mitigations: User needs to click on the dialog to allow opening in a VM, Qubes RPC policies deny by default when inbound to workstation-provisioned VMs and outbound towards workstation-provisioned VMs (MITIGQW15). Further mitigations: Override the /ets/qubes-rpc/policy/qubes.OpenInVM policy to deny any non-whitelisted inter-VM communication (MITIGQW15).
How this threat is matched
Listed for these components. A boundary covers every component inside it.