3 ms·
“cat” and related tools make perfectly interesting exploit targets on Unix systems that follow the Unix philosophy: https://www.cvedetails.com/cve/CVE-2014-947
by numbsafari 6y ago
“cat” and related tools make perfectly interesting exploit targets on Unix systems that follow the Unix philosophy:
https://www.cvedetails.com/cve/CVE-2014-9471/ https://www.cvedetails.com/cve/CVE-2014-9471/
- staticassertion 6y agoThere is a big difference between being having vulnerabilities and being valuable attack surface. Again, I am not saying that cat and others do not provide attack surface, or even valuable attack surface, only that step 1 is not "rewrite cat". Generally "cat" is not exposed to the internet, and if you're running a service and you said "I'm concerned about local attackers using cat" it's probably a lot easier to just put the service into some sort of environment (container, sandbox, user, whatever) that doesn't give access to cat.
- numbsafari 6y ago> step 1 is not "rewrite cat" Totally agree on this point. In fact, I think it’s brash for the rust armada to think that the borrow checker alone is going to help replace 20+ years of maintenance on these kinds of tools, which often crufty, and gnarled by the sands and whims of generations that preceded us.
- staticassertion 6y agoAs a member of the Rust Armada I can tell you that I don't believe that rewriting cat in rust is something I consider a high priority.
- anthk 6y agoThat's not BSD cat, that's GNU cat. And I am using AWK and KSH + dcgi in my Gopher server with a chrooted root gopher hole, it works fine.
- numbsafari 6y agoIn fact, it’s neither, it’s coreutils (gnu, yes) `date`. My point is that seemingly innocuous system utilities do make for exploit targets, because folks shell to them. Yes, you can lock things down with jails/containers, but it’s a valid target. Defense in depth, and all that jazz.