As part of the recent "rowhammer" exploit proof-of-concept, a read-suid-exec tool "ping" was used to create a more finely tuned proof of concept.
And so my question - why do various distributions prepare suid (especially root) executables as readable as well as executable?
My speculations include:
- Convenience for use with "ldd"
- To allow tripwire or package-update checking software to run as non-root
- It doesn't matter since most distributions are public and the ELF binary can be gotten by anyone (installing into a VM, etc.)
- selinux can be used to make this irrelevant
- Lazy developers
With (3), hiding the binary of a public distribution offers only a fig-leaf of security - and (5) is pretty much name calling.