Skip to content

Commit c94577e

Browse files
committed
oci/spec: deny /sys/devices/virtual/powercap
The ability to read these files may offer a power-based sidechannel attack against any workloads running on the same kernel. This was originally [CVE-2020-8694][1], which was fixed in [949dd0104c496fa7c14991a23c03c62e44637e71][2] by restricting read access to root. However, since many containers run as root, this is not sufficient for our use case. While untrusted code should ideally never be run, we can add some defense in depth here by masking out the device class by default. [Other mechanisms][3] to access this hardware exist, but they should not be accessible to a container due to other safeguards in the kernel/container stack (e.g. capabilities, perf paranoia). [1]: https://nvd.nist.gov/vuln/detail/CVE-2020-8694 [2]: torvalds/linux@949dd01 [3]: https://web.eece.maine.edu/~vweaver/projects/rapl/ Signed-off-by: Bjorn Neergaard <bjorn.neergaard@docker.com> (cherry picked from commit 106a9b7) Signed-off-by: Bjorn Neergaard <bjorn.neergaard@docker.com>
1 parent 61f9fd8 commit c94577e

1 file changed

Lines changed: 1 addition & 0 deletions

File tree

oci/spec.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,7 @@ func populateDefaultUnixSpec(ctx context.Context, s *Spec, id string) error {
171171
"/proc/timer_stats",
172172
"/proc/sched_debug",
173173
"/sys/firmware",
174+
"/sys/devices/virtual/powercap",
174175
"/proc/scsi",
175176
},
176177
ReadonlyPaths: []string{

0 commit comments

Comments
 (0)