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

Security policy request: sandboxed and unsandboxed apps on AppCenter #360

Open
aral opened this issue Dec 12, 2021 · 3 comments
Open

Security policy request: sandboxed and unsandboxed apps on AppCenter #360

aral opened this issue Dec 12, 2021 · 3 comments

Comments

@aral
Copy link
Contributor

aral commented Dec 12, 2021

Problem

Currently, there is confusion about whether or not unsandboxed apps are allowed on the elementary OS AppCenter.

This stems from a historic misunderstanding of what constitutes an unsandboxed Flatpak app which is basically any app that has --filesystem=home or above permissions. This is the level of permissions necessary for a malicious app to escape its sandbox and thus the level of permissions at which an app should be considered unsandboxed.

This leads to confusion where a new unsandboxed app can be refused a listing on AppCenter (e.g., see #225) whereas a cursory review reveals that are already unsandboxed apps on the AppCenter: https://gist.github.com/aral/5b283d020bab878ca8b2cc83bc66b88d

Proposal

  • Document that --filesystem=home and above permissions in a Flatpak app means that the app is unsandboxed.
  • Write a policy regarding whether unsandboxed apps are accepted on AppCenter.
  • Label apps as sandboxed or unsandboxed accordingly in AppCenter.

There are valid use cases for having unsandboxed apps on AppCenter (one example is a developer tool like Comet – https://comet.small-web.org, AppCenter review details in pull request linked above) and it is my personal opinion that they should be included.

If, however, it is decided that unsandboxed apps are not included in AppCenter, there needs to be a review of existing apps so that unsandboxed ones are removed.

Gotchas to avoid

In terms of whether an app is sandboxed or not, it is important to understand that what matters is whether it has --filesystem=home permissions. Anything above this (e.g., --filesystem=host) is no more or less sandboxed.

Other considerations

While defining whether an app is sandboxed or not, we also have to take into consideration that elementary OS currently uses X11, not Wayland. So any app that uses X11 isn’t really sandboxed and we should decide how this is communicated so as not to create a false sense of security (see prior art, below).

Prior Art (Optional)

See #360

@aral
Copy link
Contributor Author

aral commented Dec 12, 2021

Related: elementary/appcenter#1012

@aral
Copy link
Contributor Author

aral commented Dec 13, 2021

Note: Looks like the implementation is GNOME Software tackles the issue of communicating the sandbox limitations and could be implemented in the elementary OS AppCenter:

Implementation of sandbox status/details in GNOME Software

Source: https://theevilskeleton.gitlab.io/2021/02/11/response-to-flatkill-org.html

@danirabbit danirabbit transferred this issue from elementary/appcenter May 22, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant