mirror of
https://github.com/netblue30/firejail.git
synced 2026-05-15 14:16:14 -06:00
[GH-ISSUE #570] X11 Sandboxing security #405
Labels
No labels
LTS merge
LTS merge
bug
bug
converted-to-discussion
doc-todo
documentation
duplicate
enhancement
file-transfer
firecfg
firejail-in-firejail
firetools
graphics
help wanted
information_old
installation
invalid
modif
moved
needinfo
networking
notabug
notourbug
old-version
overlayfs
packaging
profile-request
pull-request
question
question_old
removal
runtime-permissions
sandbox-ipc
security
stale
wiki
wiki
wontfix
wordpress
workaround
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/firejail#405
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @ghost on GitHub (Jun 13, 2016).
Original GitHub issue: https://github.com/netblue30/firejail/issues/570
@netblue30 commented on GitHub (Jun 14, 2016):
Run it this way:
seccomp in this case is done by default, so you don't need it to put it in.
I have more information on x11 here: https://firejail.wordpress.com/documentation-2/x11-guide/
It will stop applications running in a sandbox to snoop on applications running outside the sandbox.
@netblue30 commented on GitHub (Jun 14, 2016):
The external xservers (xpra and xephyr) I am using don't support hardware acceleration. Use them if you are in a hostile environment and you have reasons to believe you need this additional type of sandboxing. They also bring in their own bugs and problems. For regular browsing I wouldn't bother.
SELinux and AppArmor are as good as the security profiles you use to configure them. If you don't configure them, there will be no isolation. By default SELinux comes with 0 (zero) security profiles for desktop applications. AppArmor has 3 profiles: evince, firefox and chromium. Chromium profile is broken. I don't know how good firefox profile is.
@netblue30 commented on GitHub (Jun 15, 2016):
In your example firefox will not be able to snoop on transmission, and transmission will not be able to snoop on firefox. Both of them are isolated by a different xserver.
@Sidnioulz commented on GitHub (Jun 15, 2016):
(I'm allowing myself to comment on this since I happen to have done work on that topic in another project, and I'm somewhat familiar with the issues of X11 isolation)
For some reason, I can't seem to run git firejail with X11, but you can verify the security works as intended by first reading this article on how to spy on keyboard input and then doing this:
@netblue30 how do you manage X11 selections? Is the clipboard API functional inside sandboxed clients? It should normally not be at all, given how the X11 API works, since enabling it means sandboxed apps can read all the clipboard content continuously without user consent.
@netblue30 commented on GitHub (Jun 17, 2016):
@Sidnioulz: You need to also configure a network namespace, you have all the details here: https://firejail.wordpress.com/documentation-2/x11-guide/
@rekixex: seccomp is enabled by default, you don't need to specify it in "firejail program_and_arguments"
@Sidnioulz commented on GitHub (Jun 17, 2016):
@netblue30 ah, makes sense! May I suggest forbidding firejail --x11 without a --net argument, since that would be an incomplete form of X11 isolation?
@netblue30 commented on GitHub (Jun 17, 2016):
I'll look into it.
@netblue30 commented on GitHub (Jun 24, 2016):
I'll print a warning, just forbidding it would be very inconvenient for some users, thanks for the suggestion.