Security: sandbox escape #426
Labels
No labels
Area/build-packaging
Area/cli
Area/evaluator
Area/fetching
Area/flakes
Area/language
Area/profiles
Area/protocol
Area/releng
Area/remote-builds
Area/repl
Area/store
bug
crash 💥
Cross Compilation
devx
docs
Downstream Dependents
E/easy
E/hard
E/help wanted
E/reproducible
E/requires rearchitecture
imported
Needs Langver
OS/Linux
OS/macOS
performance
regression
release-blocker
RFD
stability
Status
blocked
Status
invalid
Status
postponed
Status
wontfix
testing
testing/flakey
ux
No milestone
No project
No assignees
4 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: lix-project/lix#426
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
With the Nix team we've posted a fix for a sandbox escape vulnerability.
Next time I'd like to coordinate this with you. Perhaps we could set up a private matrix room for this purpose?
Also I couldn't find anything about reporting security issues just now; we provide a security policy through GitHub's UI, so you could perhaps do something similar here, or work around a missing feature with an issue template that contains it.
In fact, let me apologize for failing to coordinate anything with you this first time.
We (Lix) provide a security contact email of
security@lix.systems
(that address is from memory so someone might have to correct us on the precise address). However I'm not sure where (or if) this is documented anywhere. Providing a formal documentation of our security policy is a TODO that needs to be rectified though.It's on the website. We should probably do something about this bug, since @emilylange fixed the bugs in the patch.
Thanks for the ping @jade, but I wasn't involved it this at all 🫣
Maybe you intended to ping a different username?
I believe that Lix is not vulnerable to this issue because we have a hard requirement that seccomp on Linux is fully set up, so there is no way to produce a setuid binary and thus no way to obtain execution as the build user. I nevertheless intend to move the build directories to be more secure, in the future, after 2.91.
Our own security response to this was extremely lacklustre nonetheless, and we did not clearly communicate amongst ourselves or to others what the status of this bug is.
I would be more inclined to pick the patches if they had less apparent regression potential, such as the way they broke the macOS sandbox, and if it were more clear which commits are actually the security patch.
It appears that the way that the GitHub tooling works greatly obscures which commits are related to the patch and its subsequent fixup by emilazy.
Also, the added test would not work on Lix since we block fchmodat2 having setuid mode flags, so I have to figure out how to even port that, if at all.