mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-07-04 02:56:18 +00:00
virtiofs: Create shared directory with 0700 mode, not 0750
A discussion on the Linux kernel mailing list [1] exposed that virtiofsd makes a core assumption that the file systems being shared are not accessible by any non-privileged user. We currently create the `shared` directory in the sandbox with the default `0750` permissions, which gives read and directory traversal access to the group. There is no real good reason for a non-root user to access the shared directory, and this is potentially dangerous. Fixes: #2589 [1]: https://lore.kernel.org/linux-fsdevel/YTI+k29AoeGdX13Q@redhat.com/ Signed-off-by: Christophe de Dinechin <dinechin@redhat.com>
This commit is contained in:
parent
a97c9063db
commit
25c7e1181a
@ -68,6 +68,9 @@ const (
|
||||
kernelParamDebugConsole = "agent.debug_console"
|
||||
kernelParamDebugConsoleVPort = "agent.debug_console_vport"
|
||||
kernelParamDebugConsoleVPortValue = "1026"
|
||||
|
||||
// Restricted permission for shared directory managed by virtiofs
|
||||
sharedDirMode = os.FileMode(0700) | os.ModeDir
|
||||
)
|
||||
|
||||
var (
|
||||
@ -516,7 +519,7 @@ func (k *kataAgent) setupSharedPath(ctx context.Context, sandbox *Sandbox) (err
|
||||
// create shared path structure
|
||||
sharePath := getSharePath(sandbox.id)
|
||||
mountPath := getMountPath(sandbox.id)
|
||||
if err := os.MkdirAll(sharePath, DirMode); err != nil {
|
||||
if err := os.MkdirAll(sharePath, sharedDirMode); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := os.MkdirAll(mountPath, DirMode); err != nil {
|
||||
|
Loading…
Reference in New Issue
Block a user