mirror of
https://github.com/netblue30/firejail.git
synced 2026-05-15 14:16:14 -06:00
[GH-ISSUE #3958] firejail hangs with net parameter #2474
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#2474
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 @fjthrowaway on GitHub (Feb 8, 2021).
Original GitHub issue: https://github.com/netblue30/firejail/issues/3958
Hi,
Bug and expected behavior
some recent arch update must have (partially) broken firejails --net parameter. It used to work fine but now the program just hangs when executed with --net on a bridge device.
For some reason, one of my systemd startup service has no issues starting with --net.
What I have tried so far: downgrade kernel, downgrade networkmanager, downgrade firejail with no success.
I have also encountered #3948 which could be "solved" by downgrading the kernel from 5.10.13 to 5.10.12
I used networkmanager to create the bridge.
No profile and disabling firejail
firejail --noprofile /path/to/programin a terminal?nothing changed
which <program>orfirejail --listwhile the sandbox is running)?nothing changed
Reproduce
Steps to reproduce the behavior:
firejail --noprofile --net=br1 --defaultgw=192.168.0.1 --dns=192.168.0.1 --ip=192.168.0.254 --debug shEnvironment
lsb_release -a,screenfetchorcat /etc/os-release)firejail --version) exclusive or used git commit (git rev-parse HEAD)debug output
@waterlubber commented on GitHub (Feb 12, 2021):
I'm having the same issue. I tried with --noprofile and with various network interfaces. It would occasionally start, but didn't work with any actual interface or bridge interface.
@smitsohu commented on GitHub (Feb 19, 2021):
We got another report about problems with AppArmor, which automagically resolve upon kernel upgrade to 5.10.16.
If you get a chance, could you confirm the issues persist with a newer kernel?
@fjthrowaway commented on GitHub (Feb 19, 2021):
I just tried 5.10.16 and had mixed results with it. First few attempts didn't work (i.e. stuck) but then it started working.
The problem is that I can't use 5.10.16 due to bug #3948. I can't enter any sandbox with 5.10.16.
@smitsohu commented on GitHub (Feb 20, 2021):
Do you see something in the system log?
(only for the record: I cannot reproduce either issue on 5.10.13 kernels of Debian or Fedora, so this looks like something Arch specific)
@fjthrowaway commented on GitHub (Feb 20, 2021):
Could it be this commit?
the other changes seem unrelated
@matthew-nichols commented on GitHub (Jul 18, 2021):
I just updated from Pop OS 20.10 to 21.04. 21.04 appears to have this issue while it was working in 20.10.
@ghost commented on GitHub (Jul 18, 2021):
@matthew-nichols Latest Firejail release is 0.9.66. You can install that via https://launchpad.net/~deki/+archive/ubuntu/firejail. Would be appreciated if you could confirm your issue with that version.
@matthew-nichols commented on GitHub (Jul 18, 2021):
Slightly different result (operation not permitted as normal user, hang as root)
@minus7 commented on GitHub (Aug 22, 2021):
I observe the same symptoms (firejail hangs on startup at "Trying ..." for a long time and it eventually starting). So far I worked around that by patching out the call to
arp_checkinnet_configure_sandbox_ip.After some debugging, I think I found the issue:
arp_checkintends to probe for the configured IP address twice, with a delay of 500ms between ARP requests. But if the interface gets a lot of traffic, the timeout onselectdoesn't trigger.selectmay decrease the given timeout value after returning early, but the actual behavior is unspecified by POSIX. And despite the select(2) man page saying that the timeout does get decreased on Linux, that is not the case on my machine.@minus7 commented on GitHub (Aug 22, 2021):
I'm not sure why it's receiving so many packets, but one reason might be that a recvfrom of fixed length ETH_FRAME_LEN is not correct, assuming the ethernet frames are streamed in on the packet socket and the rest of the frame is not discarded.