From: Eli Zaretskii <eliz@gnu.org>
To: gdb-patches@sourceware.org
Subject: Re: RFC: Check permissions of .gdbinit files
Date: Mon, 30 May 2005 22:29:00 -0000 [thread overview]
Message-ID: <u64x08jma.fsf@gnu.org> (raw)
In-Reply-To: <20050530185201.GA29332@nevyn.them.org> (message from Daniel Jacobowitz on Mon, 30 May 2005 14:52:01 -0400)
> Date: Mon, 30 May 2005 14:52:01 -0400
> From: Daniel Jacobowitz <drow@false.org>
>
> Gentoo recently published a security update for GDB, citing the fact that
> GDB would load .gdbinit from the current directory even if that was owned by
> another user. I'm not sure how I feel about running GDB in an untrusted
> directory or on untrusted binaries and expecting it to behave sensibly, but
> this particular issue is easy to fix. Here's my suggested fix; it's not the
> same as Gentoo's. If .gdbinit is world writable or owned by a different
> user, refuse to open it (and warn the user).
>
> Anyone have opinions on this change?
Hmm... bother. This change might break some of the non-Posix
platforms. Perhaps I missed something, but AFAICS MinGW lacks the
definition of S_IWOTH, so this will fail to compile for MinGW. But
even if it did compile, the MinGW version of `fstat' returns the
S_IWOTH bit set for all files, so the MinGW port will probably always
display the warning.
The DJGPP port will not be affected: it does have S_IWOTH and it
reports the S_IWOTH bit as reset. Can't easily check Cygwin here, but
I'm guessing it will do TRT here as well.
> + error (_("source command requires pathname of file to source."));
I think the message text should begin with a capital letter (yes, I
know the original didn't do it, either).
> - stream = fopen (file, FOPEN_RT);
> - if (!stream)
> + fd = open (file, O_RDONLY);
> + if (fd != -1)
> + stream = fdopen (fd, FOPEN_RT);
Could you please tell why you replaced `fopen' with `open'+`fdopen'?
> + if (statbuf.st_uid != getuid () || (statbuf.st_mode & S_IWOTH))
Shouldn't we allow this to go unnoticed for root?
> + warning (_("not using untrusted file \"%s\""), file);
I think the message text should begin with a capital letter.
Last, but not least: if we decide to make such a change (which to my
HO sounds like a good idea, in general), we should describe this
subtlety (and the warning it could produce) in the user's manual.
next prev parent reply other threads:[~2005-05-30 21:55 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-05-30 19:41 Daniel Jacobowitz
2005-05-30 19:46 ` Nathan J. Williams
2005-05-30 19:53 ` Daniel Jacobowitz
2005-05-30 19:54 ` Nathan J. Williams
2005-05-30 19:55 ` Daniel Jacobowitz
2005-05-30 21:28 ` Jason Molenda
2005-05-30 22:29 ` Eli Zaretskii [this message]
2005-05-30 23:00 ` Daniel Jacobowitz
2005-05-31 13:52 ` Eli Zaretskii
2005-05-31 21:03 ` Christopher Faylor
[not found] ` <umzqb9kha.fsf@gnu.org>
[not found] ` <20050531222233.GF9864@trixie.casa.cgf.cx>
2005-06-02 3:51 ` Eli Zaretskii
2005-06-02 4:26 ` Christopher Faylor
2005-06-02 21:54 ` Eli Zaretskii
2005-05-30 22:42 ` Andreas Schwab
2005-05-30 22:49 ` Daniel Jacobowitz
2005-05-31 2:27 ` Andreas Schwab
2005-05-31 2:50 ` Daniel Jacobowitz
2005-05-31 14:42 ` Bob Rossi
2005-05-31 17:54 ` Stan Shebs
2005-06-11 22:35 ` Mark Kettenis
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=u64x08jma.fsf@gnu.org \
--to=eliz@gnu.org \
--cc=gdb-patches@sourceware.org \
/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