Impact
On macOS, built-in builders (such as builtin:fetchurl
, exposed to users with import <nix/fetchurl.nix>
) were not executed in the macOS sandbox. Thus, these builders (which are running under the nixbld*
users) had read access to world-readable paths and write access to world-writable paths outside of the sandbox, as well as permission to create new paths in the Nix store.
The fix for this issue is that built-in builders are now executed in the sandbox. This was done by switching from the use of /usr/bin/sandbox-exec
to libsandbox
.
Note that sandboxing is not enabled by default on macOS. The Nix sandbox is not primarily intended as a security mechanism, but as an aid to improve reproducibility and purity of Nix builds. However, sandboxing can mitigate the impact of other security issues by limiting what parts of the host system a build has access to.
Patches
Provided with the advisory release.
Workarounds
None.
Impact
On macOS, built-in builders (such as
builtin:fetchurl
, exposed to users withimport <nix/fetchurl.nix>
) were not executed in the macOS sandbox. Thus, these builders (which are running under thenixbld*
users) had read access to world-readable paths and write access to world-writable paths outside of the sandbox, as well as permission to create new paths in the Nix store.The fix for this issue is that built-in builders are now executed in the sandbox. This was done by switching from the use of
/usr/bin/sandbox-exec
tolibsandbox
.Note that sandboxing is not enabled by default on macOS. The Nix sandbox is not primarily intended as a security mechanism, but as an aid to improve reproducibility and purity of Nix builds. However, sandboxing can mitigate the impact of other security issues by limiting what parts of the host system a build has access to.
Patches
Provided with the advisory release.
Workarounds
None.