mirror of https://github.com/containers/podman.git
fix: disable seccomp by default when privileged.
When running a privileged container and `SeccompProfilePath` is empty no seccomp profile should be applied. (Previously this was the case only if `SeccompProfilePath` was set to a non-empty default path.) Closes #8849 Signed-off-by: Max Goltzsche <max.goltzsche@gmail.com>
This commit is contained in:
parent
39b1cb4967
commit
bd35792b0c
|
@ -172,7 +172,7 @@ func securityConfigureGenerator(s *specgen.SpecGenerator, g *generate.Generator,
|
||||||
|
|
||||||
// Clear default Seccomp profile from Generator for unconfined containers
|
// Clear default Seccomp profile from Generator for unconfined containers
|
||||||
// and privileged containers which do not specify a seccomp profile.
|
// and privileged containers which do not specify a seccomp profile.
|
||||||
if s.SeccompProfilePath == "unconfined" || (s.Privileged && (s.SeccompProfilePath == config.SeccompOverridePath || s.SeccompProfilePath == config.SeccompDefaultPath)) {
|
if s.SeccompProfilePath == "unconfined" || (s.Privileged && (s.SeccompProfilePath == "" || s.SeccompProfilePath == config.SeccompOverridePath || s.SeccompProfilePath == config.SeccompDefaultPath)) {
|
||||||
configSpec.Linux.Seccomp = nil
|
configSpec.Linux.Seccomp = nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -110,6 +110,15 @@ var _ = Describe("Podman privileged container tests", func() {
|
||||||
Expect("0000000000000000").To(Equal(capEff[1]))
|
Expect("0000000000000000").To(Equal(capEff[1]))
|
||||||
})
|
})
|
||||||
|
|
||||||
|
It("podman privileged should disable seccomp by default", func() {
|
||||||
|
hostSeccomp := SystemExec("grep", []string{"-Ei", "^Seccomp:\\s+0$", "/proc/self/status"})
|
||||||
|
Expect(hostSeccomp.ExitCode()).To(Equal(0))
|
||||||
|
|
||||||
|
session := podmanTest.Podman([]string{"run", "--privileged", ALPINE, "grep", "-Ei", "^Seccomp:\\s+0$", "/proc/self/status"})
|
||||||
|
session.WaitWithDefaultTimeout()
|
||||||
|
Expect(session.ExitCode()).To(Equal(0))
|
||||||
|
})
|
||||||
|
|
||||||
It("podman non-privileged should have very few devices", func() {
|
It("podman non-privileged should have very few devices", func() {
|
||||||
session := podmanTest.Podman([]string{"run", "-t", "busybox", "ls", "-l", "/dev"})
|
session := podmanTest.Podman([]string{"run", "-t", "busybox", "ls", "-l", "/dev"})
|
||||||
session.WaitWithDefaultTimeout()
|
session.WaitWithDefaultTimeout()
|
||||||
|
|
Loading…
Reference in New Issue