From: Neil Horman <nhorman@tuxdriver.com>
To: akpm@linux-foundation.org
Cc: oleg@redhat.com, viro@zeniv.linux.org.uk,
linux-kernel@vger.kernel.org, nhorman@tuxdriver.com
Subject: [PATCH] supress uid comparison test if core output files are pipes
Date: Mon, 22 Feb 2010 15:44:29 -0500 [thread overview]
Message-ID: <20100222200851.GD3344@hmsreliant.think-freely.org> (raw)
Modify uid check in do_coredump so as to not apply it in the case of pipes
So this just got noticed in testing. The end of do_coredump validates the uid
of the inode for the created file against the uid of the crashing process to
ensure that no one can pre-create a core file with different ownership and grab
the information contained in the core when they shouldn' tbe able to. This
causes failures when using pipes for a core dumps if the crashing process is not
root, which is the uid of the pipe when it is created.
The fix is simple. Since the check for matching uid's isn't relevant for pipes
(a process can't create a pipe that the uermodehelper code will open anyway), we
can just just skip it in the event ispipe is non-zero
Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
exec.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/fs/exec.c b/fs/exec.c
index 6303d18..6af2214 100644
--- a/fs/exec.c
+++ b/fs/exec.c
@@ -1987,8 +1987,9 @@ void do_coredump(long signr, int exit_code, struct pt_regs *regs)
/*
* Dont allow local users get cute and trick others to coredump
* into their pre-created files:
+ * Note, this is not relevant for 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;
next reply other threads:[~2010-02-22 20:44 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-22 20:44 Neil Horman [this message]
2010-02-24 11:09 ` Oleg Nesterov
2010-02-24 11:50 ` Neil Horman
2010-02-24 21:50 ` Andrew Morton
2010-02-25 1:32 ` Neil Horman
2010-02-25 2:13 ` Andrew Morton
2010-02-25 11:52 ` Neil Horman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100222200851.GD3344@hmsreliant.think-freely.org \
--to=nhorman@tuxdriver.com \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=oleg@redhat.com \
--cc=viro@zeniv.linux.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®