RFC: Adding a SECURITY.md document to the Binutils

Siddhesh Poyarekar siddhesh@gotplt.org
Thu Apr 13 17:00:50 GMT 2023


On 2023-04-13 12:49, Paul Koning wrote:
> If someone sends me an executable file, and I execute it and suffer a virus, shame on me.  If someone sends me a C source file and I compile and link that BUT DO NOT EXECUTE the resulting executable, and I suffer a virus, shame on the tool.

If someone sends me a C source file and I compile and link it without 
inspecting it first, then definitely shame on me again.  Compilers and 
linkers assume *trusted* input.

> I don't expect the act of compiling or linking or objdumping to compromise my system's security, any more than I expect the act of editing a text file to do so.  The key point is expectation.  I'm reminded of a legal rule seen, for example, in "expectation of privacy": I should assume I can be seen when walking around town, but it is valid for me to assume I'm not seen when at home in my bathroom.  Similarly, I should assume my system can get attacked when I execute a program, but it is reasonable for me to assume no attack is possible when I run gcc or objdump (or hexdump or cat).
> 

It's valid for you to assume that you're not seen when you're at home in 
your bathroom.  However, if you take a random device someone gives you 
with you in your bathroom without actually checking what it does...

Anyway like I said to Richard, it's all well and good to say that 
binutils *should* be able to handle untrusted inputs.  The reality is 
that it is not in a position to make that claim and the only reasonable 
security position the project can take is to strongly recommend either 
validating inputs (to make them trusted) or running the tools in a sandbox.

Sid


More information about the Binutils mailing list