-
Notifications
You must be signed in to change notification settings - Fork 588
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
firecfg: seahorse is not sandboxed (.desktop file) #6658
Comments
|
What is the full path to the program? What is the output of the following: sudo firecfg grep seahorse /etc/firejail/firecfg.config
which -a seahorse
ls -al ~/.local/share/applications
grep '^Exec' ~/.local/share/applications/seahorse.desktop |
$ sudo firecfg
Removing all firejail symlinks:
seahorse removed
cvlc removed
ftp removed
transmission-gtk removed
gnome-logs removed
autokey-run removed
gnome-font-viewer removed
gcalccmd removed
evince-previewer removed
yubioath-desktop removed
baobab removed
man removed
pdftotext removed
evince removed
autokey-shell removed
wget removed
gnome-characters removed
rhythmbox removed
autokey-gtk removed
strings removed
gnome-calculator removed
nslookup removed
eog removed
bleachbit removed
patch removed
firefox-esr removed
enchant-2 removed
xcalc removed
evince-thumbnailer removed
file-roller removed
gapplication removed
dnsmasq removed
gedit removed
dig removed
ping removed
rhythmbox-client removed
host removed
Xephyr removed
enchant-lsmod-2 removed
yelp removed
vlc removed
Configuring symlinks in /usr/local/bin based on firecfg.config
Xephyr created
autokey-gtk created
autokey-run created
autokey-shell created
baobab created
bleachbit created
cvlc created
dig created
dnsmasq created
enchant-2 created
enchant-lsmod-2 created
eog created
evince created
evince-previewer created
evince-thumbnailer created
file-roller created
firefox-esr created
ftp created
gapplication created
gcalccmd created
gedit created
gnome-calculator created
gnome-characters created
gnome-font-viewer created
gnome-logs created
host created
man created
nslookup created
patch created
pdftotext created
ping created
rhythmbox created
rhythmbox-client created
seahorse created
strings created
transmission-gtk created
vlc created
wget created
xcalc created
yelp created
Adding user USERNAME to Firejail access database in /etc/firejail/firejail.users
User USERNAME already in the database
Loading AppArmor profile
Fixing desktop files in /home/USERNAME/.local/share/applications
org.gnome.Nautilus.desktop skipped: file exists
org.gnome.Logs.desktop skipped: file exists
org.gnome.baobab.desktop skipped: file exists
vlc.desktop skipped: file exists
org.gnome.gedit.desktop skipped: file exists $ grep seahorse /etc/firejail/firecfg.config
seahorse
seahorse-adventures
seahorse-daemon
seahorse-tool $ which -a seahorse
/usr/local/bin/seahorse
/usr/bin/seahorse
/bin/seahorse $ ls -al ~/.local/share/applications/
total 40
drwx------ 2 USERNAME USERNAME 4096 Feb 23 21:56 .
drwx------ 21 USERNAME USERNAME 4096 Dec 27 06:09 ..
-rw------- 1 USERNAME USERNAME 647 Jan 24 01:11 org.gnome.baobab.desktop
-rw------- 1 USERNAME USERNAME 773 Jan 24 01:11 org.gnome.gedit.desktop
-rw------- 1 USERNAME USERNAME 589 Jan 24 01:11 org.gnome.Logs.desktop
-rw------- 1 USERNAME USERNAME 1264 Jan 24 01:11 org.gnome.Nautilus.desktop
-rw------- 1 USERNAME USERNAME 14918 Feb 23 21:56 vlc.desktop I couldn't tell you why there's no |
The issue is probably because it uses What is the output of the following: grep -R 'Exec=.*seahorse' /usr/share/applications Edit: Now I noticed some relevant details in the output (related to #6657):
What is the output of the following? grep 'Exec' ~/.local/share/applications/*.desktop | LC_ALL=C sort -u |
firejail/src/firecfg/desktop_files.c Lines 68 to 71 in 7650902
Seahorse seems to be |
```
/usr/share/applications/org.gnome.seahorse.Application.desktop:Exec=seahorse
```
|
Apparently their .desktop files are located in the following paths: * /usr/share/applications/org.gnome.gedit.desktop * /usr/share/applications/org.gnome.seahorse.Application.desktop Fixes netblue30#6657 netblue30#6658. Reported-by: @ginto37 Reported-by: @rusty-snake
Apparently their .desktop files are located in the following paths: * /usr/share/applications/org.gnome.gedit.desktop * /usr/share/applications/org.gnome.seahorse.Application.desktop Fixes netblue30#6657 netblue30#6658. Relates to netblue30#6002. Reported-by: @ginto37 Reported-by: @rusty-snake
Apparently the .desktop file for `seahorse` is located in the following path: * /usr/share/applications/org.gnome.seahorse.Application.desktop Which ends in `Application.desktop` instead of `seahorse.desktop`, leading to it not being automatically detected by firecfg. So add a redirect profile and an entry in firecfg.config. Fixes netblue30#6658. Reported-by: @ginto37 Reported-by: @rusty-snake
Currently, firecfg only checks the last word in .desktop files when trying to match them to an existing profile. For example: * `org.gnome.gedit.desktop` -> `gedit.desktop` * `org.gnome.seahorse.Application.desktop` -> `Application.desktop` This works in the former case where there is an exact match of the last word on each side (`gedit.desktop` and `gedit.profile`), but not in the latter case (`Application.desktop` and `seahorse.profile`). So make firecfg also check the full filename of the .desktop file, to make it easier to create redirect profiles that match the full name of the .desktop files. For example: * `org.gnome.seahorse.Application.desktop` -> `org.gnome.seahorse.Application.profile` (which itself then redirects to `seahorse.profile`) Related commits: * a6341b9 ("disable DBus activation in firecfg", 2017-09-25) * 3e69deb ("fix firecfg", 2017-09-25) * bd97615 ("Temp fix firecfg (netblue30#2634)", 2019-04-02) Relates to netblue30#2624 netblue30#6658.
Description
seahorse AKA Passwords and Keys is not sandboxed with firejail.
Steps to Reproduce
firejail --list
and
seahorse
and tap Enter/Returnfirejail --list
Expected behavior
Output in either case should be similar to the following:
3233:USERNAME::/usr/bin/firejail /usr/bin/seahorse
Actual behavior
There is no output in either case.
Behavior without a profile
N/A
Additional context
I found #2591 but sandboxing mysteriously started working in that case so there was no answer there. I've confirmed that the issue exists over numerous reboots over several weeks and after performing all system updates.
Environment
uname -srm
): Linux 6.8.0-52-generic x86_64mesa 1:24.3.3-2"): seahorse 41.0
firejail --version
): firejail version 0.9.72Compile time support:
- always force nonewprivs support is disabled
- AppArmor support is enabled
- AppImage support is enabled
- chroot support is enabled
- D-BUS proxy support is enabled
- file transfer support is enabled
- firetunnel support is disabled
- IDS support is enabled
- networking support is enabled
- output logging is enabled
- overlayfs support is disabled
- private-home support is enabled
- private-cache and tmpfs as user enabled
- SELinux support is enabled
- user namespace support is enabled
- X11 sandboxing support is enabled
was compiled (
git rev-parse HEAD
):Checklist
/usr/bin/vlc
) "fixes" it).https://github.com/netblue30/firejail/issues/1139
)browser-allow-drm yes
/browser-disable-u2f no
infirejail.config
to allow DRM/U2F in browsers.--profile=PROFILENAME
to set the right profile. (Only relevant for AppImages)Log
Output of
LC_ALL=C firejail /path/to/program
Output of
LC_ALL=C firejail --debug /path/to/program
Gist
The text was updated successfully, but these errors were encountered: