mirror of
https://github.com/netblue30/firejail.git
synced 2026-05-15 14:16:14 -06:00
[GH-ISSUE #2933] skypeforlinux 8.51.0.86 now requires SYS_ADMIN, SYS_CHROOT capabilities #1831
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#1831
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 @vutny on GitHub (Aug 27, 2019).
Original GitHub issue: https://github.com/netblue30/firejail/issues/2933
The newest stable Skype version 8.51.0.86 stopped working in
firejail.I got latest profile version from
master.It seems that they completely moved to Chome Sandbox, which requires broad set of permissions.
TL;DR
By experimenting for a while I managed to run Skype with these minimal options:
CAP_SYS_CHROOT
The error with
CAP_SYS_CHROOTdisabled:CAP_SYS_ADMIN
The error with
CAP_SYS_ADMINdisabled:The same error is also caused by applying
nonewprivs,protocolandseccompsettings. Any Seccomp filter also breaks the app.norootSince the binary
/usr/share/skypeforlinux/chrome-sandboxis now having setuid bit installed,norootneeds to be ignored as well.@reinerh commented on GitHub (Aug 27, 2019):
Does that mean skype now needs to be installed setuid-root?
@FOSSONLY commented on GitHub (Aug 28, 2019):
I last used Skype before it was destructively run down by Microsoft. Today Skype is an advertising-contaminated spyware and bloatware that has lost all its original values. And now you're going to give this proprietary spyware root rights? Seriously? For those who haven't done it yet, now is the perfect time to get rid of this software for good, and there have long been very good alternatives that respect their users. Can only advise not to put up with this extension of privileges, especially considering the purpose of this software.
@Vincent43 commented on GitHub (Aug 28, 2019):
@reinerh it uses setuid-root helper binary
/usr/share/skypeforlinux/chrome-sandbox, same as chromium.@vutny commented on GitHub (Sep 4, 2019):
Yeah. Technically speaking, modern Skype is just a web application running on MIcrosoft servers.
You could use it from any recent full-featured browser, including Firefox, but the video and calls are supported only in Chrome AFAIK.
The Linux package they ship is just an Electron app, which is a custom build of Google Chrome.
I assume in the latest version they have enforced Chrome Sandbox feature. It does all the isolation using namespaces on its own, and that's why requires root and permissions to chroot and isolate.
As I expect, firejail does not completely support Chrome/Chromium because of that.
Still some additional "jailing" could be applied.
Also I have found this article, describing further steps to sandbox Skype. Neither tried any of those, though.
The main question remains, can we update the Skype profile within the firejail distribution to actually make it work?
@rusty-snake commented on GitHub (Sep 4, 2019):
That is generally a good question. Current situation is that if a profile was fixed a few months later a new firejail version appears which contains this fix. But ...
Who get this new version?
Who not?
The most users of stable distro who don't use backports.
But what's in the meantime? The last release was 3 months ago.
Every fix from the last 3 months have only users who compile firejail by them self.
Faster release cycles which would then also come in distros are required, at least for fixes which fix a program which has become unusable. or we bypass the distros with a
firefix😁 program which downloads and applies all important fixes@vutny commented on GitHub (Sep 5, 2019):
Thanks for the clarification, @rusty-snake . This is fine.
My question was more about is that OK to submit a PR here with updated
skypeforlinux.profile, so users would benefit from having out-of-the-box solution when they upgrade Skype/Firejail by any convenient channel?@rusty-snake commented on GitHub (Sep 5, 2019):
Yes, you can send a PR. Since skypeforlinux is broken without these adjustments, there is no way to avoid such a weakening of the firejail sandbox.
To confirm: Not only
seccompbreaks it, it is also broken withseccomp.drop __dummy__?@vutny commented on GitHub (Sep 5, 2019):
@rusty-snake
I've tried that setting and Skype was not starting.
It seems that if any
seccompfiltering applied (like withprotocoloption), thechrome-sandboxhelper fails to start.Although, it is totally not obvious from terminal output:
Exit code 1.
@Vincent43 commented on GitHub (Sep 5, 2019):
@vutny chromium profile indeed doesn't have
seccomprule. You may base your skype changes on it.@vutny commented on GitHub (Sep 6, 2019):
Thanks for your input, @Vincent43 . I will definitely take a look on it.
@rusty-snake commented on GitHub (Sep 7, 2019):
BTW: where is the different between skype and skypeforlinux?
@vutny commented on GitHub (Sep 9, 2019):
@rusty-snake I believe the
skype.profileis the legacy file for old "classic" Skype 4.X, which is neither longer available nor supported. The file has not received any software-specific changes since year 2015.Could we drop it along with fixing real Skype profile?
@rusty-snake commented on GitHub (Sep 9, 2019):
If skype is not in repos of not EOL distros / offical third-party repo or didn't work anymore (e.g. protocol changes) so that it doesn't have any users any more. IMHO it should be a simple redirect for skypeforlinux.profile.
@vutny commented on GitHub (Sep 9, 2019):
Thanks, understood. Let's separate concerns, I will log another issue for this kind of housekeeping and we will discuss appropriate solution there.