mirror of
https://github.com/netblue30/firejail.git
synced 2026-05-15 14:16:14 -06:00
[GH-ISSUE #884] slack.profile does not allow opening URLs in messages #598
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#598
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 @elvetemedve on GitHub (Oct 31, 2016).
Original GitHub issue: https://github.com/netblue30/firejail/issues/884
Somehow the default web browser should be white-listed in order to be able to open URLs posted in instant messages.
@chiraag-nataraj commented on GitHub (Nov 1, 2016):
Isn't that hard/impossible to do? On Debian, you could theoretically use
x-www-browser, but that's just a symbolic link to/etc/alternatives/x-www-browserwhich in turn is a symbolic link to the actual browser. You have no way of apriori knowing what that is. One tack to take is just to whitelist all the common browsers, but that's kinda defeating the purpose. The other way is to create a local profile~/.config/firejail/slack.profile, include the global one, and additionally whitelist whatever browser you use, which is probably the best way to go.@elvetemedve commented on GitHub (Nov 1, 2016):
Well, I like the idea of adding all common browsers to the whitelist. I don't think that would weaken the protection, because those browsers should be run in a sandbox as well. But current profile decrease the usability (I could mention the document viewer evince which has the same issue. I cannot open external links from documents). It's not something the application should not do, this is part of its feature set.
@chiraag-nataraj commented on GitHub (Nov 1, 2016):
Well whitelisting them means also whitelisting additional files in
/etc, additional binaries, and so on - basically, it forces the profile to be wider than it should be and allows access to files that slack itself may not need. So it does indeed weaken the protection. Now whether that weakening of the profile is something you want is up to you, but I don't think it should be the default for the profile.By the way, this is additionally super bad because whitelisting Google Chrome means also disabling seccomp and capabilities filters, which are effectively necessary for any program which doesn't have its own (basically any program except for Google Chrome). You really don't want to do this unless you have to.
[Edit] I believe the additional whitelisting is only necessary if you assume you may have to start the program from within the slack sandbox. Otherwise, you may be able to get away with just whitelisting the binaries, so it may not be as bad as I first thought.
@elvetemedve commented on GitHub (Nov 1, 2016):
I played a bit with the slack.profile and removed few restrictions. As I see the opened browser will be run in the same sandbox as Slack just like you mentioned.
Is there a way to tell firejail to create new processes outside the sandbox of Slack? When I click on a link like
https://kernel.org/, then I would like to seefirejail google-chrome-stable http://kernel.org/executed. That way Chrome would run within its own sandbox.@chiraag-nataraj commented on GitHub (Nov 2, 2016):
Try with Chrome already opened (you may have to whitelist Google Chrome's configuration directory? not sure). I think it will still require syscalls, though probably not as many...
@elvetemedve commented on GitHub (Nov 6, 2016):
I managed to enable opening URLs via Google Chrome. Unfortunately it's not enough strict to make it default.
I think seccomp filter has a bug, because if I restrict access to any system call like
seccomp.drop swapon, it won't work anymore, but I'm sure that neither Slack nor Chrome touch the swap management.See the modified profile here: slack.profile.txt
@chiraag-nataraj commented on GitHub (Nov 6, 2016):
Yes, because the default seccomp filter (which is what
seccomp.dropuses) doesn't work for Google Chrome.