Re: Threat model for GNU Binutils

Petr Tesařík via Gdb <[email protected]>
Newsgroups gmane.comp.gdb.devel
Message-ID <[email protected]>
On Fri, 14 Apr 2023 15:41:38 +0100
Richard Earnshaw via Gdb <[email protected]> wrote:

> On 14/04/2023 15:08, Siddhesh Poyarekar wrote:
> > On 2023-04-14 09:12, Richard Earnshaw wrote:  
>[...]
> >> 2) Code directly generated by the tools contains a vulnerability
> >>
> >>   Nature:
> >>   The vast majority of code output from the tools comes from the input
> >>   files supplied, but a small amount of 'glue' code might be needed in
> >>   some cases, for example to enable jumping to another function in
> >>   another part of the address space.  Linkers are also sometimes asked
> >>   to inject mitigations for known CPU errata when this cannot be done
> >>   during the compilation phase.  
> > 
> > Since you've split this one out from machine instructions, there's a 
> > third category too; where binutils tools generate incorrect code for 
> > alignment of sections, sizes of sections, etc.  There's also a (rare) 
> > possibility of an infrequently used instruction having incorrect opcode 
> > mapping, resulting in a bug being masked when dumped with objdump or 
> > resulting code having undefined behaviour.
> >   

I must be dumb, but isn't the biggest risk is that GNU Binutils produce
an exploitable bug in the target binary?

Let me give a silly hypothetical example. If the linker places Global
Offset Table incorrectly, so that it overlaps stack, then I would
definitely consider it a security bug in GNU Binutils, because all
input object files were OK, but the result is not.

Just my two cents,
Petr T
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.