Sebastian Wick 3204498468 portal: Account for source fds in fd_map_remap_fd max_fd tracking
fd_map_remap_fd assigns a temporary fd number (++max_fd) that may later
be used as a conflict resolution target. If the source fd passed to
fd_map_remap_fd is higher than max_fd, conflict resolution can assign
a replacement value that collides with that source fd. In
child_setup_func, the dup2 for the conflicting entry then overwrites
the source fd before it is remapped, delivering the wrong fd to the
child process.

In practice this manifests as sandbox-expose-fd-ro passing a random fd
(e.g. a socket) instead of the intended O_PATH fd to flatpak run via
--ro-bind-fd, producing errors like:

  error: /proc/self/fd/21 resolves to non-absolute path socket:[423446]

Similar error have been observed in Epiphany/WebKit:
https://bugs.webkit.org/show_bug.cgi?id=305344

Cherry-picked-from: 22eec07b5a
2026-08-27 20:53:24 +02:00
2026-01-21 17:58:19 +00:00
2026-06-08 14:35:23 +02:00
2022-10-24 16:12:14 +01:00
2022-10-24 16:12:14 +01:00
2026-01-21 17:58:19 +00:00
2018-02-05 15:21:40 +00:00
2015-03-31 15:36:29 +01:00
2022-09-26 14:35:40 +01:00
2026-08-11 14:57:29 +02:00
2026-08-11 14:57:29 +02:00
2026-06-08 14:35:23 +02:00

Flatpak icon

Flatpak is a system for building, distributing, and running sandboxed desktop applications on Linux.

See https://flatpak.org/ for more information.

Flatpak is available in the package repositories of most Linux distributions and can be installed from there. See https://flatpak.org/setup/ for quick setup instructions for many distributions.

Community discussion happens in #flatpak:matrix.org, on the mailing list, and on the Flathub Discourse.

Read documentation for Flatpak here.

Contributing

Flatpak welcomes contributions from anyone! Here are some ways you can help:

Hacking

See CONTRIBUTING.md

Related Projects

Here are some notable projects in the Flatpak ecosystem:

  • Flatseal: An app for managing permissions of Flatpak apps without using the CLI
  • Flat-manager: A tool for managing Flatpak repositories
S
Description
No description provided
Readme LGPL-2.1
65 MiB
0 Stars 1 Watchers 0 Forks
Languages
C 91.1%
Shell 6.1%
Meson 1.1%
Python 0.9%
Yacc 0.8%