Open
Description
The set of syscalls permitted for Capsicum compartments includes several things that should not be permitted for unprivileged compartments. These include (but are not limited to):
- File descriptor operations (e.g.
read
,write
) that take a (forgeable) integer rather than a capability. - Virtual address space modification functions (e.g.
mmap
,mprotect
), which should not be permitted as they can be used to break CoW guarantees for sandboxes - Signal handling functions, which could allow the sandbox to provide code to run with elevated privilege.
A modified libsyscall
should allow banned syscalls to be issued as methods on the system object.