IBM Data Science Experience: Whole-Cluster Privilege Escalation Disclosure
wycd.net
wycd.net
If you're interested in our p2p approach, see: https://fosdem.org/2017/schedule/event/democratizing_deep_le... and www.hops.io
I get what you're saying about unprivileged containers, even if the processes in the container are not running as root, the container itself (and docker itself) is basically root. The person running the container gets root. Setting up a docker host as multi-tenant is something you may do at your own risk.
If your users have access through the network to processes running inside of a container, that is how you may use containers to protect yourself and your users from each other. If, on the other hand, your users are allowed to execute code outside of the container (or launch containers) because that's how you have set up authorization and access control for users on your multi-tenant system, that's not the container's fault.
The first advice I found was from core docker maintainers saying clear as day "don't run chrome with --no-sandbox".
The problem was a missing kernel flag for USERNS support. This feature provided by the kernel is the piece that allows to create a virtual root user that only has root access inside of his namespace (only inside of the container, then.) This is a service provided by the kernel.
Just to rebut your position, in my experience there is no "throw up your hands" attitude towards security in the Docker dev team and containers ecosystem.
Now certainly the thread parent shows this is not the case everywhere, but I can tell you in my opinion from limited experience that I am not AT ALL surprised this happened at IBM. I was exposed to their BlueMix platform at a hackathon in Buffalo, and putting it gently I was not impressed. More directly, important things like authentication and continuous deployment were obviously broken as soon as you scratched the surface.
The judge from IBM did not respond well when we told him we found their platform was severely broken, and we had decided at 1am that we'd needed to switch our efforts to targeting Heroku deployment instead. (We did not win the prize, if you're still wondering.)
A few years ago I ended up at a Hadoop-themed hackathon. It took most of the day for the organizers to provision us servers running Hadoop that could compute anything non-trivial. The only reason my team ended up with something instead of nothing is because I SSHed to my desktop computer to do the actual computation.
From the description, this particular vulnerability (TLS certs mounted to each guest container) seems to have come from an earnest alternative implementation of the same pattern, without considering how that would be inappropriate on a shared host.