mirror of
https://github.com/netblue30/firejail.git
synced 2026-05-15 14:16:14 -06:00
[GH-ISSUE #6113] firejail: fs_lib.c:56: find_in_path: Assertion \`geteuid() != 0' failed #3186
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#3186
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 (Nov 30, 2023).
Original GitHub issue: https://github.com/netblue30/firejail/issues/6113
Several apps show breakage when running via firejail from git master. Here's an example using gsettings, but I've seen the same bug on several other profiles. Bisecting points to
407c05ebef.All's well again when I build firejail while reverting this commit:
Can anyone reproduce?
@kmk3 commented on GitHub (Nov 30, 2023):
Cannot reproduce on
8f55f6c9a:Does it still happen when ignoring all .local files?
@rusty-snake commented on GitHub (Nov 30, 2023):
We have private-lib disabled by default, correct?
@ghost commented on GitHub (Dec 1, 2023):
That's it, nice catch! I do enable
private-libin firejail.config. When I disable it, things no longer break with407c05ebef.Even though I have a workaround now, it doesn't make much sense to allow users to override defaults (e.g. enabling private-lib) and subsequently break that. Slightly preoccupied with hardware changes right now, but I'll dig through the code and the xauth commit again later on. Would be nice if it could be implemented without breaking anything. @chestnykh Any ideas on how to avoid this?
@chestnykh commented on GitHub (Dec 4, 2023):
Should we perform the
geteuid() != 0check insidefind_in_path? Why it is needed inside this function?@rusty-snake commented on GitHub (Dec 4, 2023):
Because search in path with elevated privileges would be a security vulnerability (information leak).
If you code in a suid binary you always have to ask your self "what evil could be done with it?". Even if it is a dead simple function like find_in_path or file_exists, ....
@ghost commented on GitHub (Dec 5, 2023):
I have a patch that performs search in path with EUID_USER() instead of EUID_ASSERT() when private-lib is enabled:
BIG DISCLAIMER: is it safe/wise to implement it like this?
@rusty-snake commented on GitHub (Dec 5, 2023):
We disable private-lib via firejail.global by default, we don't?
@ghost commented on GitHub (Dec 5, 2023):
@rusty-snake Correct, we do so via firejail.config yes:
aa87789ad3/etc/firejail.config (L101-L102)Personally I do enable it there, and during ./configure obviously. If that's a valid use case, we should fix the xauth commit IMO. You asked this before in this thread. Can you elaborate please?