commit | e119bbb81cb42aaddef61882b3747cf7995465f7 | [log] [tgz] |
---|---|---|
author | Nicole Anderson-Au <[email protected]> | Thu Feb 04 23:12:12 2021 +0000 |
committer | Nicole Anderson-Au <[email protected]> | Fri Feb 05 16:05:34 2021 +0000 |
tree | 2bbf012b220b1b54930ba5e988d5df5884de620e | |
parent | 079c40afb00485a719a51afdfc2da56ecaba8b66 [diff] |
minijail: Don't allow stricter remounting of specific dir The intended use of the --mount-propagation flag is to allow enforcing a more strict mount propagation with remount_mode over the filesystem while allowing for specific mounts to be less strict. This change ensures that users are doing this and not trying the use the feature the other way around by making a specific directory more strict than the general filesystem (which offers little actual security). Bug: chromium:1102404 Test: make tests tried to enter minijail with the commandline: sudo ./minijail0 -v -Kshared --mount-propagation private:/proc /bin/bash and ensured that it errored with the correct message Change-Id: Ife992f7a0fed8080afa19499c10a6f688f77e90b
The Minijail homepage is https://google.github.io/minijail/.
The main source repo is https://android.googlesource.com/platform/external/minijail/.
There might be other copies floating around, but this is the official one!
Minijail is a sandboxing and containment tool used in Chrome OS and Android. It provides an executable that can be used to launch and sandbox other programs, and a library that can be used by code to sandbox itself.
You're one git clone
away from happiness.
$ git clone https://android.googlesource.com/platform/external/minijail $ cd minijail
Releases are tagged as linux-vXX
: https://android.googlesource.com/platform/external/minijail/+refs
See the HACKING.md document for more details.
See the RELEASE.md document for more details.
See the tools/README.md document for more details.
We've got a couple of contact points.
The following talk serves as a good introduction to Minijail and how it can be used.
The Chromium OS project has a comprehensive sandboxing document that is largely based on Minijail.
After you play with the simple examples below, you should check that out.
# id uid=0(root) gid=0(root) groups=0(root),128(pkcs11) # minijail0 -u jorgelo -g 5000 /usr/bin/id uid=72178(jorgelo) gid=5000(eng) groups=5000(eng)
# minijail0 -u jorgelo -c 3000 -- /bin/cat /proc/self/status Name: cat ... CapInh: 0000000000003000 CapPrm: 0000000000003000 CapEff: 0000000000003000 CapBnd: 0000000000003000