Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove default_dispvm from qubes that don't need it #93

Open
ben-grande opened this issue Jul 23, 2024 · 0 comments
Open

Remove default_dispvm from qubes that don't need it #93

ben-grande opened this issue Jul 23, 2024 · 0 comments
Labels
T: bug Something isn't working
Milestone

Comments

@ben-grande
Copy link
Owner

Brief summary

The qube property default_dispvm can cause network leaks and allows qubes that create it to run commands on other qubes.

Steps to reproduce

Create a qube from any formula (most) that doesn't unset default_dispvm and run qubes.VMShell.

Expected behavior

No dispvm can be created from qubes that don't need it according to the Qube connections design.

Actual behavior

Qube with no network can run commands on on networked qube or from a different network.

Note this is not a degradation over Qubes default settings, it is the same default setting as upstream. Also not that if you have the reader formula, the dvm-reader becomes the global default_dispvm, which is non-networked and makes things less dangerous.


This change can be somewhat difficult to convey for users depending on how they use the formula, but we must enforce it for security reasons. Let's give some exampels:

  • Should vault, sys-pgp or sys-ssh-agent have it? No, it only manages passwords and keys created in it. But there may be cases in the future where the split-gpg2 opens a message to be signed in a disposable qube that will be created by sys-pgp, so a default_dispvm must be set. But until that is the case, unset it.

  • Should a disposable, a disposable template or a template have it? In most cases, again, no. Avoid chains of disposable qubes.

  • Should qubes that runs applications that manages files have it (browser, element, signal)? Yes, this is the targetted use case.

  • Should system qubes have it? In most cases, no, sys-net, sys-firewall, sys-pihole don't really need it, but other qubes that store files may need it, such as sys-syncthing, sys-rsync, to open the files securely in a disposable.

  • What about the other cases? To be decided how to handle it.

@ben-grande ben-grande added the T: bug Something isn't working label Jul 23, 2024
@ben-grande ben-grande added this to the Release 0.0.1 milestone Oct 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
T: bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant