#5939·firejail

inconsistent behavior when PATH in not set

Author: arenevierCreated Aug 2, 2023Updated Sep 20, 2026
Labelsbug

Description

When PATH is not set, the behavior depends on whether the profile contains a ${PATH} variable Describe the bug

Steps to Reproduce

# create an empty profile
$ rm -f firejail.profile && touch firejail.profile 
# unset PATH
$ unset PATH
$ /usr/bin/firejail --profile=./firejail.profile ls
# shows: Error: no suitable ls executable found

# Now, writes a directive that references PATH in the profile
$ echo 'blacklist ${PATH}/systemctl' > firejail.profile
$ /usr/bin/firejail --profile=./firejail.profile ls
# now, the ls command is executed properly

Expected behavior

I expect the behavior to be coherent. Either a default PATH is always set, either it is never set.

Checklist

  • [x ] The issues is caused by firejail (i.e. running the program by path (e.g. /usr/bin/vlc) "fixes" it).
  • [ x] I can reproduce the issue without custom modifications (e.g. globals.local).
  • [ x] The program has a profile. (If not, request one in https://github.com/netblue30/firejail/issues/1139)
  • The profile (and redirect profile if exists) hasn't already been fixed upstream.
  • [ x] I have performed a short search for similar issues (to avoid opening a duplicate).
    • [ x] I'm aware of browser-allow-drm yes/browser-disable-u2f no in firejail.config to allow DRM/U2F in browsers.
  • [ x] I used --profile=PROFILENAME to set the right profile. (Only relevant for AppImages)