[GH-ISSUE #7058] io_uring filtering #3471

Open
opened 2026-05-05 10:01:02 -06:00 by gitea-mirror · 4 comments
Owner

Originally created by @ssokolow on GitHub (Feb 10, 2026).
Original GitHub issue: https://github.com/netblue30/firejail/issues/7058

To quote Jens Axboe's submission to enable BPF filtering of io_uring in Linux 7.0:

seccomp and io_uring don't play along nicely, as most of the interesting data to filter on resides somewhat out-of-band, in the submission queue ring.

As a result, things like containers and systemd that apply seccomp
filters, can't filter io_uring operations.

That leaves them with just one choice if filtering is critical -
filter the actual io_uring_setup(2) system call to simply disallow
io_uring. That's rather unfortunate, and has limited us because of it

-- https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=591beb0e3a03258ef9c01893a5209845799a7c33

Describe the solution you'd like

Support applying BPF filters to io_uring to complement seccomp filters.

Describe alternatives you've considered

Nothing. I trust Jens when he says that this is motivated by a lack of alternatives other than blocking access to io_uring.

Environment

This should be irrelevant for this feature request, but since you asked for it...

  • Name/version/arch of the Linux kernel (uname -srm): Linux 6.8.0-88-generic x86_64
  • Name/version of the Linux distribution (e.g. "Ubuntu 20.04" or "Arch Linux"): Ubuntu 24.04.4 LTS (from lsb_release -a)
  • Version of Firejail (firejail --version): firejail version 0.9.72
  • If you use a development version of firejail, also the commit from which it:
    was compiled (git rev-parse HEAD):
Originally created by @ssokolow on GitHub (Feb 10, 2026). Original GitHub issue: https://github.com/netblue30/firejail/issues/7058 ### Is your feature request related to a problem? Please describe. To quote Jens Axboe's submission to enable BPF filtering of io_uring in Linux 7.0: > seccomp and io_uring don't play along nicely, as most of the interesting data to filter on resides somewhat out-of-band, in the submission queue ring. > > As a result, things like containers and systemd that apply seccomp > filters, can't filter io_uring operations. > > That leaves them with just one choice if filtering is critical - > filter the actual io_uring_setup(2) system call to simply disallow > io_uring. That's rather unfortunate, and has limited us because of it > > -- https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=591beb0e3a03258ef9c01893a5209845799a7c33 ### Describe the solution you'd like Support applying BPF filters to io_uring to complement seccomp filters. ### Describe alternatives you've considered Nothing. I trust Jens when he says that this is motivated by a lack of alternatives other than blocking access to io_uring. ### Environment This should be irrelevant for this feature request, but since you asked for it... - Name/version/arch of the Linux kernel (`uname -srm`): Linux 6.8.0-88-generic x86_64 - Name/version of the Linux distribution (e.g. "Ubuntu 20.04" or "Arch Linux"): Ubuntu 24.04.4 LTS (from `lsb_release -a`) - Version of Firejail (`firejail --version`): firejail version 0.9.72 - ~~If you use a development version of firejail, also the commit from which it: was compiled (`git rev-parse HEAD`):~~
gitea-mirror added the
enhancement
label 2026-05-05 10:01:02 -06:00
Author
Owner

@kmk3 commented on GitHub (Feb 10, 2026):

(Offtopic)

  • firejail version 0.9.72

Note that we do not maintain that version of firejail:

Versions other than the latest usually have outdated profiles and may contain
bugs and security vulnerabilities that were fixed in later versions.

See also:

<!-- gh-comment-id:3879527686 --> @kmk3 commented on GitHub (Feb 10, 2026): (Offtopic) > * firejail version 0.9.72 Note that we do not maintain that version of firejail: * <https://github.com/netblue30/firejail/blob/master/SECURITY.md> Versions other than the latest usually have outdated profiles and may contain bugs and security vulnerabilities that were fixed in later versions. See also: * <https://github.com/netblue30/firejail#installing>
Author
Owner

@ssokolow commented on GitHub (Feb 10, 2026):

Versions other than the latest usually have outdated profiles and may contain
bugs and security vulnerabilities that were fixed in later versions.

I'm using the Kubuntu 24.04 LTS repo package of firejail. If there are security bugs, please do whatever the Flatpak people do to get their fixes into the http://security.ubuntu.com/ubuntu repo.

As for outdated profiles, I predominantly use a script I wrote named sandboxify to generate profiles for GOG.com games which don't depend on the core firejail .inc files because I don't want updates to potentially break games. Wherever possible, I prefer Flatpak because it's much easier to further tighten the sandbox profiles on containerized apps. (A flatpakify for my GOG games is under consideration.)

<!-- gh-comment-id:3879644644 --> @ssokolow commented on GitHub (Feb 10, 2026): > Versions other than the latest usually have outdated profiles and may contain > bugs and security vulnerabilities that were fixed in later versions. I'm using the Kubuntu 24.04 LTS repo package of firejail. If there are security bugs, please do whatever the Flatpak people do to get their fixes into the http://security.ubuntu.com/ubuntu repo. As for outdated profiles, I predominantly use a script I wrote named `sandboxify` to generate profiles for GOG.com games which don't depend on the core firejail `.inc` files because I don't want updates to potentially break games. Wherever possible, I prefer Flatpak because it's much easier to further tighten the sandbox profiles on containerized apps. (A `flatpakify` for my GOG games is under consideration.)
Author
Owner

@kmk3 commented on GitHub (Feb 10, 2026):

Versions other than the latest usually have outdated profiles and may
contain bugs and security vulnerabilities that were fixed in later
versions.

I'm using the Kubuntu 24.04 LTS repo package of firejail. If there are
security bugs, please do whatever the Flatpak people do to get their fixes
into the http://security.ubuntu.com/ubuntu repo.

We are a small team and we only support the latest version.

If you are interested in maintaining and supporting an older version of
firejail, feel free to look in the commit log and RELNOTES for security-related
changes and apply them to your tree.

See also:

<!-- gh-comment-id:3879796436 --> @kmk3 commented on GitHub (Feb 10, 2026): > > Versions other than the latest usually have outdated profiles and may > > contain bugs and security vulnerabilities that were fixed in later > > versions. > > I'm using the Kubuntu 24.04 LTS repo package of firejail. If there are > security bugs, please do whatever the Flatpak people do to get their fixes > into the http://security.ubuntu.com/ubuntu repo. We are a small team and we only support the latest version. If you are interested in maintaining and supporting an older version of firejail, feel free to look in the commit log and RELNOTES for security-related changes and apply them to your tree. See also: * https://github.com/netblue30/firejail#ubuntu
Author
Owner

@ssokolow commented on GitHub (Feb 10, 2026):

I have far too much going on in my life to take on more responsibility. Again, please get in touch with the Ubuntu Firejail maintainer to see about getting them to do that.

As for the PPA, since firejail is suid, I'll put it on my TODO list to start looking into whether there's sufficient procedure in place to protect the PPA from introducing new attack surface.

Failing that, if I decide it's too big a risk, I'll probably ditch firejail and rejigger my sandboxify script to generate launcher scripts for bubblewrap instead, on the assumption that, since Flatpak depends on it, it'll get more attention.

Either way, this is all off-topic to the purpose of this feature request: A kernel commit got added to enable sandboxing of io_uring at finer granularity than "disable it".

<!-- gh-comment-id:3879822090 --> @ssokolow commented on GitHub (Feb 10, 2026): I have far too much going on in my life to take on more responsibility. Again, please get in touch with the Ubuntu Firejail maintainer to see about getting them to do that. As for the PPA, since firejail is suid, I'll put it on my TODO list to start looking into whether there's sufficient procedure in place to protect the PPA from introducing new attack surface. Failing that, if I decide it's too big a risk, I'll probably ditch firejail and rejigger my `sandboxify` script to generate launcher scripts for bubblewrap instead, on the assumption that, since Flatpak depends on it, it'll get more attention. Either way, this is all off-topic to the purpose of this feature request: A kernel commit got added to enable sandboxing of io_uring at finer granularity than "disable it".
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: github-starred/firejail#3471
No description provided.