]> git.ipfire.org Git - thirdparty/lxc.git/commitdiff
lsm: harden read_file_at()
authorChristian Brauner <christian.brauner@ubuntu.com>
Mon, 1 Feb 2021 19:15:16 +0000 (20:15 +0100)
committerChristian Brauner <christian.brauner@ubuntu.com>
Mon, 1 Feb 2021 19:27:53 +0000 (20:27 +0100)
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
src/lxc/lsm/apparmor.c
src/lxc/lsm/selinux.c

index 369f7939d3c2c6f8c4ab1c07251a04485711d97f..fef5036131168422d74ab5f2b61cb224a6a5ea25 100644 (file)
@@ -447,7 +447,7 @@ static char *apparmor_process_label_get_at(struct lsm_ops *ops, int fd_pid)
        __do_free char *label = NULL;
        size_t len;
 
-       label = read_file_at(fd_pid, "attr/current", PROTECT_OPEN, 0);
+       label = read_file_at(fd_pid, "attr/current", PROTECT_OPEN, PROTECT_LOOKUP_BENEATH);
        if (!label)
                return log_error_errno(NULL, errno, "Failed to get AppArmor context");
 
index 5ed99fb3e2b80db3ae814fbe734b342de1dded6f..e20a835fecb3fd702f078d2ff7a7264d659c67b1 100644 (file)
@@ -57,7 +57,7 @@ static char *selinux_process_label_get_at(struct lsm_ops *ops, int fd_pid)
        __do_free char *label = NULL;
        size_t len;
 
-       label = read_file_at(fd_pid, "attr/current", PROTECT_OPEN, 0);
+       label = read_file_at(fd_pid, "attr/current", PROTECT_OPEN, PROTECT_LOOKUP_BENEATH);
        if (!label)
                return log_error_errno(NULL, errno, "Failed to get SELinux context");