-
Notifications
You must be signed in to change notification settings - Fork 12.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
investigate sandboxing for tasks on Linux (and maybe other platforms) #6811
Comments
Visiting for triage; would be a very cool feature to have built-in. "Nominating" for far-future. |
@pcwalton and I talked about a design where the sandboxing This wouldn't have a shared exchange heap; instead you'd have a port/chan variant that uses UNIX pipes or something. The ability to send file descriptors through UNIX-domain sockets is potentially useful. The killer demo here is something like
Run it and pop a shell. Then change |
Yeah, you wouldn't want to share memory directly between the tasks because you need to verify the integrity of any objects you receive to preserve the boundary. |
triage, no change, although @thestinger wrote up something for servo here: https://github.com/mozilla/servo/wiki/Linux-sandboxing |
I think this is better suited to a third party library. The core functionality for Linux is here: |
Fix `manual_map` false positives fixes: rust-lang#6795 fixes: rust-lang#6797 fixes: rust-lang#6811 fixes: rust-lang#6819 changelog: Fix false positives for `manual_map` when `return`, `break`, `continue`, `yield`, `await`, and partially moved values are used. changelog: Don't expand macros in suggestions for `manual_map`
In theory, at least on Linux, we can spawn the tasks without
CLONE_VM
for a private address space (as infork
). This would lay the groundwork for supporting sandboxing (seccomp, cgroups, namespaces) too.I think this would be very useful for Servo, to sandbox spidermonkey. I don't know how viable this would be on other platforms where threads and processes aren't considered essentially the same thing by the kernel since it would likely be a huge hit to performance and memory usage.
The text was updated successfully, but these errors were encountered: