X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=fs%2Fexec.c;h=282240afe99e5e223b1732c4c1b58245d90618d8;hb=7607341a265a56cdf8b4bf10d355098e80ea481b;hp=4ccaaa4b13b229ec17456789ead9aad76c8078bf;hpb=e6a5c27f3b0fef72e528fc35e343af4b2db790ff;p=linux-2.6 diff --git a/fs/exec.c b/fs/exec.c index 4ccaaa4b13..282240afe9 100644 --- a/fs/exec.c +++ b/fs/exec.c @@ -1780,6 +1780,12 @@ int do_coredump(long signr, int exit_code, struct pt_regs * regs) but keep the previous behaviour for now. */ if (!ispipe && !S_ISREG(inode->i_mode)) goto close_fail; + /* + * Dont allow local users get cute and trick others to coredump + * into their pre-created files: + */ + if (inode->i_uid != current->fsuid) + goto close_fail; if (!file->f_op) goto close_fail; if (!file->f_op->write)