kernel/coredump-uid-pipe-check.patch

15 lines
588 B
Diff

diff -up linux-2.6.32.noarch/fs/exec.c.orig linux-2.6.32.noarch/fs/exec.c
--- linux-2.6.32.noarch/fs/exec.c.orig 2010-02-22 12:40:06.000000000 -0500
+++ linux-2.6.32.noarch/fs/exec.c 2010-02-22 12:48:34.000000000 -0500
@@ -1973,8 +1973,9 @@ void do_coredump(long signr, int exit_co
/*
* Dont allow local users get cute and trick others to coredump
* into their pre-created files:
+ * Note this isn't relevant to pipes
*/
- if (inode->i_uid != current_fsuid())
+ if (!ispipe && (inode->i_uid != current_fsuid()))
goto close_fail;
if (!cprm.file->f_op)
goto close_fail;