It was found that Docker would launch containers under the specified UID instead of a username. An attacker able to launch a container could use this flaw to escalate their privileges to root within the launched container.
Container launch does not distinguish between numeric UIDs and string usernames. A malicious image can provide a username to UID mapping at a high privileged level. This means that innoculous looking launches such as:
docker -u 1000 ...
actually result in the image processes running as root.
This ambiguity also confuses OpenShift's UID-based controls.
Container launch does not distinguish between numeric UIDs and string usernames. A malicious image can provide a username to UID mapping at a high privileged level. This means that innoculous looking launches such as: docker -u 1000 ... actually result in the image processes running as root. This ambiguity also confuses OpenShift's UID-based controls.