Sebastian Wick 71f28c42ff build-init: Use fd-relative operations to prevent path traversal
ensure_extensions() used g_file_resolve_relative_path() with
ext->directory, which comes from runtime/SDK metadata and can contain
".." components. This allowed a malicious extension to write outside
the build directory.

Replace the GFile-based path resolution with glnx_chase_and_mkdirat()
using GLNX_CHASE_RESOLVE_BENEATH | GLNX_CHASE_RESOLVE_NO_SYMLINKS,
which rejects any path that escapes the directory fd.

Convert the rest of flatpak_builtin_build_init to fd-relative
operations (mkdirat, symlinkat, glnx_opendirat, glnx_shutil_rm_rf_at,
glnx_file_replace_contents_at, flatpak_cp_a_at) anchored to a
base_dfd opened from the build directory.

Resolves: https://github.com/flatpak/flatpak/security/advisories/GHSA-8qxj-x646-phcm
2026-08-11 01:22:50 +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
2026-06-08 14:22:12 +02: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-06-08 15:40:05 +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%