Skip to content

Release v3.17.3#416

Merged
grahamc merged 8 commits intomainfrom
release-v3.17.3/0f3f8a79-b80a-4b64-b2a7-a7816356cef4
Apr 7, 2026
Merged

Release v3.17.3#416
grahamc merged 8 commits intomainfrom
release-v3.17.3/0f3f8a79-b80a-4b64-b2a7-a7816356cef4

Conversation

@github-actions
Copy link
Copy Markdown

@github-actions github-actions bot commented Apr 7, 2026

v3.17.3 (0f3f8a79-b80a-4b64-b2a7-a7816356cef4)

@detsys-spaghetti detsys-spaghetti bot closed this Apr 7, 2026
@detsys-spaghetti detsys-spaghetti bot reopened this Apr 7, 2026
@detsys-spaghetti detsys-spaghetti bot enabled auto-merge April 7, 2026 15:28
@github-actions
Copy link
Copy Markdown
Author

github-actions bot commented Apr 7, 2026

@github-actions github-actions bot temporarily deployed to pull request April 7, 2026 15:37 Inactive
@github-actions github-actions bot temporarily deployed to pull request April 7, 2026 16:29 Inactive
xokdvium added 3 commits April 7, 2026 18:40
…e output in a temporary directory in the store

Puts the temporary FOD output copies in a temporary directory inside the
store instead of the (for Linux sandboxed builds) chroot.
This prevents file overwrite due to symlink following that std::filesystem::copy_file does.

Also applies the same output copying approach for impure derivations that don't
have network sandboxing and thus are subject to FD smuggling.

Fixes GHSA-g3g9-5vj6-r3gj.

(cherry picked from commit a760af8)
…ew enough kernels

This partially fixes the issue with cooperating processes being able
to communicate via abstract sockets. The fix is partial, because processes
outside the landlock domain of the sandboxed process can still connect to
a socket created by the FOD. There's no equivalent way of restricting inbound
connections. This closes the gap when there's no cooperating process on the host
(i.e. 2 separate FODs).

>= 6.12 kernel is widespread enough (NixOS 25.11 ships it by
default) that we have no reason not to apply this hardening, even though
it's incomplete.

ca-fd-leak test exercises this exact code path and now the smuggling
process fails with (on new enough kernels that have landlock support enabled):

vm-test-run-ca-fd-leak> machine # sandbox setup: applied landlock sandboxing
vm-test-run-ca-fd-leak> machine # building '/nix/store/s7brgi6pdr5f3n8yqlgmdlz8blb89njc-smuggled.drv'...
vm-test-run-ca-fd-leak> machine # building derivation '/nix/store/s7brgi6pdr5f3n8yqlgmdlz8blb89njc-smuggled.drv': woken up
vm-test-run-ca-fd-leak> machine # connect: Operation not permitted
vm-test-run-ca-fd-leak> machine # sendmsg: Socket not connected

(cherry picked from commit 44017ca)
@grahamc grahamc disabled auto-merge April 7, 2026 16:51
@edolstra edolstra enabled auto-merge April 7, 2026 17:26
@grahamc grahamc disabled auto-merge April 7, 2026 17:26
@github-actions github-actions bot temporarily deployed to pull request April 7, 2026 17:33 Inactive
@grahamc grahamc merged commit e9b4735 into main Apr 7, 2026
26 checks passed
@grahamc grahamc deleted the release-v3.17.3/0f3f8a79-b80a-4b64-b2a7-a7816356cef4 branch April 7, 2026 17:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants