65c23d
From fbc96cdd1741021f3d18e49eac3757297aaba851 Mon Sep 17 00:00:00 2001
65c23d
From: Matthew Heon <mheon@redhat.com>
65c23d
Date: Fri, 19 Feb 2021 11:34:39 -0500
65c23d
Subject: [PATCH] Only drop all caps in exec when non-root
65c23d
65c23d
We were dropping too many capabilities otherwise, which broke
65c23d
some critical system tools (e.g. useradd) in exec sessions.
65c23d
65c23d
Fix RHBZ#1930552
65c23d
65c23d
Signed-off-by: Matthew Heon <mheon@redhat.com>
65c23d
---
65c23d
 libpod/oci_conmon_linux.go | 2 +-
65c23d
 1 file changed, 1 insertion(+), 1 deletion(-)
65c23d
65c23d
diff --git a/libpod/oci_conmon_linux.go b/libpod/oci_conmon_linux.go
65c23d
index d5973a1a6..18ede031e 100644
65c23d
--- a/libpod/oci.go
65c23d
+++ b/libpod/oci.go
65c23d
@@ -1107,7 +1107,7 @@ func prepareProcessExec(c *Container, cmd, env []string, tty bool, cwd, user, se
65c23d
 	pspec.Capabilities.Effective = []string{}
65c23d
 	if privileged {
65c23d
 		pspec.Capabilities.Bounding = allCaps
65c23d
-	} else {
65c23d
+	} else if execUser.Uid != 0 {
65c23d
 		pspec.Capabilities.Bounding = []string{}
65c23d
 	}
65c23d
 	pspec.Capabilities.Inheritable = pspec.Capabilities.Bounding
65c23d
-- 
65c23d
2.29.2
65c23d