mirror of
https://github.com/netblue30/firejail.git
synced 2026-05-15 14:16:14 -06:00
[GH-ISSUE #5598] Profile with join-or-start option does not work with "--profile=" #3039
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#3039
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 @ferreum on GitHub (Jan 17, 2023).
Original GitHub issue: https://github.com/netblue30/firejail/issues/5598
Description
When specifying a profile with
--profile=option that containsjoin-or-start, firejail fails to join an existing sandbox and prints an error.Starting the sandbox works. Only joining seems to be affected.
Steps to Reproduce
joinme.profilefor testing, that only contains ajoin-or-startoption:Expected behavior
firejail joins the existing sandbox.
Actual behavior
firejail prints "Error: --shell=none configured, but no program specified" and exits.
Behavior without a profile
Joining without profile works:
Additional context
Seems to be argument parsing related. Specifying
--debugchanges the error message (last line):That message makes no sense as there's no
--joinbefore--profile.Environment
0.9.72-1Checklist
/usr/bin/vlc) "fixes" it).https://github.com/netblue30/firejail/issues/1139)browser-allow-drm yes/browser-disable-u2f noinfirejail.configto allow DRM/U2F in browsers.--profile=PROFILENAMEto set the right profile. (Only relevant for AppImages)Log
See "Steps to Reproduce" and "Additional context" above.
@rusty-snake commented on GitHub (Jan 17, 2023):
Likely a regression from
4d79566ae3and following.@ferreum commented on GitHub (Jan 18, 2023):
I found a way to trigger this without
--profile=as well. Since this looks like a problem with argument parsing to me, I think it's the same issue.The conditions are similar to above, but you need a profile containing
join-or-startin the firejail profiles directory.The invocation to join works in some cases, but if the program gets arguments starting with
--firejail gets confused:echo.profilein the user's firejail path:firejail seems to get confused about which arguments belong to the sandboxed program. It reports
--bas a problematic option, but that option is for echo, not for firejail.The criteria to trigger this are strange:
--are encountered--are ignored (firejail echo a b c --a --b --c) reports--b--followed by one without works correctly (firejail echo --a x --b --cworks)This confusion about arguments seems similar to
--debugchanging the error message in the first report. In both cases the invocation works if the sandbox isn't already running.@rusty-snake commented on GitHub (Jan 18, 2023):
If firejail consfuses child arguments with its own arguments this sound like it could be a security vulnerability. Labeling as security for now.
Ping @netblue30 @smitsohu @topimiettinen @reinerh