mirror of
https://github.com/netblue30/firejail.git
synced 2026-05-15 14:16:14 -06:00
[GH-ISSUE #1447] Feature: allow any syscall to be blacklisted with aid of LD_PRELOAD library #974
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#974
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 @topimiettinen on GitHub (Aug 9, 2017).
Original GitHub issue: https://github.com/netblue30/firejail/issues/1447
Currently Firejail can't let seccomp filters block certain system calls because they are used later by Firejail itself after installing the seccomp filter. But Firejail could install a LD_PRELOADed shared library (like libtrace and libtracelog), which would install a seccomp filter for these remaining system calls, in case they are specified by seccomp.drop etc. For example, blocking execve would be very useful. The protection given with this late filter would not be as tight as with the filter installed earlier because some shared libraries may have a chance to run before even a library constructor is run, but the main application would still be fully controlled.
@netblue30 commented on GitHub (Aug 10, 2017):
This would be very cool, give it a try!
@Ferroin commented on GitHub (Aug 10, 2017):
On the note of exec calls specifically, you may find noexec helpful as a starting point.
@topimiettinen commented on GitHub (Aug 13, 2017):
@Ferroin: noexec library just overrides libc symbols. That works to a degree, but it can be circumvented. Blocking with a seccomp filter is much more robust.