Skip to content

Commit 41f9394

Browse files
committed
procfs: block chmod on /proc/thread-self/comm
JIRA: https://issues.redhat.com/browse/RHEL-105165 commit ccf6148 Author: Aleksa Sarai <cyphar@cyphar.com> Date: Fri, 14 Jul 2023 00:09:58 +1000 procfs: block chmod on /proc/thread-self/comm Due to an oversight in commit 1b3044e ("procfs: fix pthread cross-thread naming if !PR_DUMPABLE") in switching from REG to NOD, chmod operations on /proc/thread-self/comm were no longer blocked as they are on almost all other procfs files. A very similar situation with /proc/self/environ was used to as a root exploit a long time ago, but procfs has SB_I_NOEXEC so this is simply a correctness issue. Ref: https://lwn.net/Articles/191954/ Ref: 6d76fa5 ("Don't allow chmod() on the /proc/<pid>/ files") Fixes: 1b3044e ("procfs: fix pthread cross-thread naming if !PR_DUMPABLE") Cc: stable@vger.kernel.org # v4.7+ Signed-off-by: Aleksa Sarai <cyphar@cyphar.com> Message-Id: <20230713141001.27046-1-cyphar@cyphar.com> Signed-off-by: Christian Brauner <brauner@kernel.org> Signed-off-by: Waiman Long <longman@redhat.com>
1 parent 2c415ad commit 41f9394

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

fs/proc/base.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3555,7 +3555,8 @@ static int proc_tid_comm_permission(struct mnt_idmap *idmap,
35553555
}
35563556

35573557
static const struct inode_operations proc_tid_comm_inode_operations = {
3558-
.permission = proc_tid_comm_permission,
3558+
.setattr = proc_setattr,
3559+
.permission = proc_tid_comm_permission,
35593560
};
35603561

35613562
/*

0 commit comments

Comments
 (0)