[GH-ISSUE #2669] Remove the need for QTWEBENGINE_DISABLE_SANDBOX=1 (appimage) #1685

Closed
opened 2026-05-05 08:19:51 -06:00 by gitea-mirror · 17 comments
Owner

Originally created by @probonopd on GitHub (Apr 30, 2019).
Original GitHub issue: https://github.com/netblue30/firejail/issues/2669

QTWEBENGINE_DISABLE_SANDBOX=1 may be needed to run Qt applications that use QtWebEngine under Firejail.

At least this is the case for https://appimage.github.io/Galacteek/.

Would it make sense to have Firejail set this environment variable globally? I see it already exists in the source code but is commented out.

Originally created by @probonopd on GitHub (Apr 30, 2019). Original GitHub issue: https://github.com/netblue30/firejail/issues/2669 `QTWEBENGINE_DISABLE_SANDBOX=1` may be needed to run Qt applications that use QtWebEngine under Firejail. At least this is the case for https://appimage.github.io/Galacteek/. Would it make sense to have Firejail set this environment variable globally? I see it already exists in the source code but is commented out.
gitea-mirror 2026-05-05 08:19:51 -06:00
Author
Owner

@rusty-snake commented on GitHub (Apr 30, 2019):

Currently this is only set for Viber,

Also see here.

<!-- gh-comment-id:488075704 --> @rusty-snake commented on GitHub (Apr 30, 2019): Currently this is only set for Viber, Also see [here](https://github.com/netblue30/firejail/pull/2295).
Author
Owner

@probonopd commented on GitHub (May 1, 2019):

Is it already known under which circumstances QtWebEngine needs this option?

<!-- gh-comment-id:488222995 --> @probonopd commented on GitHub (May 1, 2019): Is it already known under which circumstances QtWebEngine needs this option?
Author
Owner

@Vincent43 commented on GitHub (May 1, 2019):

I would say it should be never added. Firejail sandbox should be tweaked instead.

<!-- gh-comment-id:488267530 --> @Vincent43 commented on GitHub (May 1, 2019): I would say it should be never added. Firejail sandbox should be tweaked instead.
Author
Owner

@probonopd commented on GitHub (May 3, 2019):

Listing here which applications needs this:

<!-- gh-comment-id:489209762 --> @probonopd commented on GitHub (May 3, 2019): Listing here which applications needs this: * GAMS Studio https://github.com/AppImage/appimage.github.io/pull/536 * Plex https://github.com/AppImage/appimage.github.io/pull/132 * Sielo Browser https://github.com/AppImage/appimage.github.io/pull/552
Author
Owner

@smitsohu commented on GitHub (May 4, 2019):

Is it already known under which circumstances QtWebEngine needs this option?

Always (given that unprivileged user namespaces are enabled).

It's all about the chroot syscall being included in the default seccomp filter. As this is an increasingly common problem, would it justify a new option?

<!-- gh-comment-id:489365595 --> @smitsohu commented on GitHub (May 4, 2019): > Is it already known under which circumstances QtWebEngine needs this option? Always (given that unprivileged user namespaces are enabled). It's all about the chroot syscall being included in the default seccomp filter. As this is an increasingly common problem, would it justify a new option?
Author
Owner

@probonopd commented on GitHub (May 5, 2019):

It would be best if it would not need a special option to be invoked by the user. (If the user has to do something, then QTWEBENGINE_DISABLE_SANDBOX=1 is fine imho.)

<!-- gh-comment-id:489408497 --> @probonopd commented on GitHub (May 5, 2019): It would be best if it would not need a special option to be invoked by the user. (If the user has to do something, then `QTWEBENGINE_DISABLE_SANDBOX=1` is fine imho.)
Author
Owner

@Vincent43 commented on GitHub (May 6, 2019):

It's all about the chroot syscall being included in the default seccomp filter. As this is an increasingly common problem, would it justify a new option?

Maybe tweak seccomp rule to allow defining firejail defaults +/- a chosen syscall,
like seccomp +chroot?

<!-- gh-comment-id:489606847 --> @Vincent43 commented on GitHub (May 6, 2019): > It's all about the chroot syscall being included in the default seccomp filter. As this is an increasingly common problem, would it justify a new option? Maybe tweak `seccomp` rule to allow defining firejail defaults +/- a chosen syscall, like `seccomp +chroot`?
Author
Owner

@rusty-snake commented on GitHub (Jun 26, 2019):

I think we schould implement @Vincent43 idea

<!-- gh-comment-id:505764741 --> @rusty-snake commented on GitHub (Jun 26, 2019): I think we schould implement @Vincent43 idea
Author
Owner

@rusty-snake commented on GitHub (Aug 26, 2019):

How future proceed here?

<!-- gh-comment-id:524764338 --> @rusty-snake commented on GitHub (Aug 26, 2019): How future proceed here?
Author
Owner

@Vincent43 commented on GitHub (Aug 26, 2019):

Adding this to Viber.profile and removing env QTWEBENGINE_DISABLE_SANDBOX=1 from there should be enough to close this. You may include this in https://github.com/netblue30/firejail/pull/2927 and wait till https://github.com/netblue30/firejail/pull/2926 is merged.

<!-- gh-comment-id:524885744 --> @Vincent43 commented on GitHub (Aug 26, 2019): Adding [this](https://github.com/netblue30/firejail/pull/2927/files#diff-804b7cf50c334c0afd185b5be88e0139R28) to Viber.profile and removing `env QTWEBENGINE_DISABLE_SANDBOX=1` from there should be enough to close this. You may include this in https://github.com/netblue30/firejail/pull/2927 and wait till https://github.com/netblue30/firejail/pull/2926 is merged.
Author
Owner

@probonopd commented on GitHub (Aug 28, 2019):

Well, I'd say this ticket can be closed once we the user won't need to manually run env QTWEBENGINE_DISABLE_SANDBOX=1 anywhere anymore, not just for Viber.

<!-- gh-comment-id:525598712 --> @probonopd commented on GitHub (Aug 28, 2019): Well, I'd say this ticket can be closed once we the user won't need to manually run `env QTWEBENGINE_DISABLE_SANDBOX=1` anywhere anymore, not just for Viber.
Author
Owner

@Vincent43 commented on GitHub (Aug 28, 2019):

@probonopd you mean appimage apps? They seem to use default.profile. The only fix I see is to remove chroot from default seccomp filter.

<!-- gh-comment-id:525681689 --> @Vincent43 commented on GitHub (Aug 28, 2019): @probonopd you mean appimage apps? They seem to use `default.profile`. The only fix I see is to remove `chroot` from default seccomp filter.
Author
Owner

@probonopd commented on GitHub (Aug 30, 2019):

Yes, I mean AppImage apps. What would the security implications be of what you are suggesting? Would the FIrejail sandboxing still be effective?

If we have to disable either FIrejail's or Chrome's sandbox, then I'd say enable Firejail's and disable Chrome's, e.g., by exporting QTWEBENGINE_DISABLE_SANDBOX=1 all the time.

<!-- gh-comment-id:526469918 --> @probonopd commented on GitHub (Aug 30, 2019): Yes, I mean AppImage apps. What would the security implications be of what you are suggesting? Would the FIrejail sandboxing still be effective? If we have to disable either FIrejail's or Chrome's sandbox, then I'd say enable Firejail's and disable Chrome's, e.g., by exporting `QTWEBENGINE_DISABLE_SANDBOX=1` all the time.
Author
Owner

@Vincent43 commented on GitHub (Aug 30, 2019):

We just need to allow one additional syscall (chroot) which many apps use for self-sandboxing. Everything else will stay intact and app will be protected by both firejail and chrome sandboxing.

<!-- gh-comment-id:526514822 --> @Vincent43 commented on GitHub (Aug 30, 2019): We just need to allow one additional syscall (`chroot`) which many apps use for self-sandboxing. Everything else will stay intact and app will be protected by both firejail and chrome sandboxing.
Author
Owner

@probonopd commented on GitHub (Sep 4, 2019):

Thank you very much.

<!-- gh-comment-id:528001918 --> @probonopd commented on GitHub (Sep 4, 2019): Thank you very much.
Author
Owner

@smitsohu commented on GitHub (Sep 5, 2019):

@Vincent43 Maybe rather than removing chroot from the default seccomp blacklist, we could just remove it from default.profile? (or I understood you wrong and that was what you were saying)

<!-- gh-comment-id:528368940 --> @smitsohu commented on GitHub (Sep 5, 2019): @Vincent43 Maybe rather than removing `chroot` from the default seccomp blacklist, we could just remove it from default.profile? (or I understood you wrong and that was what you were saying)
Author
Owner

@Vincent43 commented on GitHub (Sep 5, 2019):

@smitsohu chroot breaks most electron apps and will ultimately break all of them once they update to latest version. It's no longer suitable default in apps world.

<!-- gh-comment-id:528616625 --> @Vincent43 commented on GitHub (Sep 5, 2019): @smitsohu `chroot` breaks most electron apps and will ultimately break all of them once they update to latest version. It's no longer suitable default in apps world.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: github-starred/firejail#1685
No description provided.