The DefaultLinuxSpec function in oci/defaults.go in Docker Moby through 17.03.2-ce does not block /proc/scsi pathnames, which allows attackers to trigger data loss (when certain older Linux kernels are used) by leveraging Docker container access to write a "scsi remove-single-device" line to /proc/scsi/scsi, aka SCSI MICDROP. Upstream issue: https://github.com/moby/moby/pull/35399 Upstream patch: https://github.com/moby/moby/pull/35399/commits/a21ecdf3c8a343a7c94e4c4d01b178c87ca7aaa1 References: https://twitter.com/ewindisch/status/926443521820774401 https://marc.info/?l=linux-scsi&m=150985062200941&w=2 https://marc.info/?l=linux-scsi&m=150985455801444&w=2
Fixed in docker-1.12.1, docker-1.13.1 and docker-1.13.1-rhel: https://github.com/projectatomic/docker/commit/be5610ca9e4d8e123a74015482986987fe5d034d https://github.com/projectatomic/docker/commit/584d391084d425cc99142f11d8fb738f0159ce11 https://github.com/projectatomic/docker/commit/b7e14ab1e07a0b7735e4edc0546ff253cea0af5b
SELinux blocks this attack vector.