by jeffbee on 1/26/21, 10:30 PM
All you need to know about sudo and frankly most other pieces of the Linux userspace is that it is undertested. The commit that added this flaw to sudo claims to fix a parser bug but includes no tests. There is no reason for the author, the reviewer (if there even was such a person), or anyone else to believe that the bug existed or was fixed by this change. The pull request that supposedly fixes this CVE also includes no tests. There is no reason anyone should believe this fix is effective or complete, or that it does not introduce new defects. This is the result of people who stubbornly refuse to practice even the most basic good engineering practices, like testing and code review, while at the same time using the industry's most dangerous high-level language. As long as this type of thing continues, our tools will remain at a very low level of safety, reliability, and correctness.
by mbrubeck on 1/27/21, 4:05 AM
Just ten days ago on Hacker News, we had a C programmer claiming that “buffer over-runs are a rare class of bugs, and a class of bugs that are (at least on the heap, and often on the stack) trivial to find and fix” [1].
As a bonus, the person who wrote that turned out to have published C code containing multiple exploitable buffer overflows.
[1]: https://news.ycombinator.com/item?id=25806533
by bluefox on 1/26/21, 11:37 PM
Every now and then we all get a glimpse, for a flash of a moment, that the house of cards has already collapsed. Too invested in our current systems to face this truth, we just update and forget about it until the next time.
by tgbugs on 1/27/21, 12:03 AM
Yet another vindication for one of my long-standing practices. I try to avoid installing sudo at all cost on my systems because all it does is increase the attack surface.
Despite this, the wisdom of the crowd is that you should never su to root, for ... reasons? Fat fingering is a thing, but if you can accidentally be in a root terminal without realizing it you have done something horribly wrong.
Heck, from a certain point of view if you have someone in the habit of repeatedly typing sudo over and over again then all sudo has really done is open up every single terminal to be a gateway to the nether realm of super user privs. And in this case, more attack surface.
by thricegr8 on 1/26/21, 9:11 PM
by MayeulC on 1/26/21, 9:32 PM
Memory safety strikes again, it seems (overflow in a C string due to complex parameter parsing rules).
by 2bitencryption on 1/26/21, 8:17 PM
I'm curious, is this one implementation of sudo really used everywhere?
I was under the impression that different Linux userspaces sometimes implement these common commands differently. Like "ls" sometimes actually being aliased to a bash script, or maybe BSD having one implementation and Ubuntu another. Is that not the case? Is "sudo" not maintained by an entity like gnu, bsd, etc?
edit - in other words, I always assumed "sudo" was a highly-dependent system-level tool, not just some useful helper binary that is maintained by one independent person.
by zaltekk on 1/26/21, 6:44 PM
> introduced in July 2011 (commit 8255ed69), and affects all legacy versions from 1.8.2 to 1.8.31p2 and all stable versions from 1.9.0 to 1.9.5p1, in their default configuration.
It looks like this is pretty far reaching. All of my boxes were vulnerable to this before updating today.
by statquontrarian on 1/27/21, 12:27 AM
How does this story not have a billion upvotes? HN should introduce sticky posts just for this bug and keep it at the top of the homepage for weeks.
> exploitable by any local user [...] without authentication
> introduced in July 2011 [...] in their default configuration
> full root privileges
by jart on 1/26/21, 9:03 PM
Developers: your moment has come at last to humble your local system administrator for wearing those "I read your emails" t-shirts. This is as day zero as day zero gets. Red Hat and Debian published their security announcements just two hours ago at the exact same moment this was posted on Hacker News. It would have been more responsible to keep something this bad under wraps a bit longer. Because all the people who still use things like cpanel virtual hosting are at risk.
by zaltekk on 1/26/21, 6:43 PM
> introduced in July 2011 (commit 8255ed69), and affects all legacy versions from 1.8.2 to 1.8.31p2 and all stable versions from 1.9.0 to 1.9.5p1, in their default configuration.
It looks like this is pretty far reaching. All of my boxes were vulnerable to this before updating today.
by nickweb on 1/26/21, 9:42 PM
Is it normal for a security issue of this magnitude to have a 12 day notification period for everyone? That seems... short.
by higerordermap on 1/27/21, 6:39 AM
At this point, can somebody recommend linux security best practices on desktop? I already have two user accounts one for important stuff and other for unimportant stuff. I prefer to use sandboxed apps, but flatpaks don't look well maintained compared to official repositories, and often unofficial. Firejail seems quite controversial due to use of UserNS? What do veterans in security recommend for sandboxing of user apps?
by cab404 on 1/26/21, 8:37 PM
Never knew sudo had a site (
https://sudo.ws).
Never knew it had a mascot, if you could call it so...
I will never unsee it. Nightmare fuel at it's finest.
by Panino on 1/26/21, 10:56 PM
Qualys is great! Love their vulnerability reports.
Just want to echo other praise here for doas. It's fantastic, most likely does everything you need it to do, and is secure. Install it and see for yourself!
by fattire on 1/26/21, 8:08 PM
sudo built with ASLR doesn't make a difference?
NM:
- we can defeat ASLR by partially overwriting the function pointer
getenv_fn (which points to the function sudoers_hook_getenv() in the
shared library sudoers.so); and luckily, the beginning of sudoers.so
contains a call to execve() (or execv()):
by nahuel0x on 1/26/21, 8:00 PM
"rewrite sudo in Rust" in 3,2...
by YetAnotherNick on 1/27/21, 12:20 AM
From 2017, there are at least 5 discovered security issues in sudo[1]. It seems a bit too untested for something running in root and interacting with all users.
[1]: https://www.sudo.ws/
by 0xbadcafebee on 1/27/21, 4:17 AM
by Uptrenda on 1/27/21, 5:06 AM
Wow, this looks bad. Many VPS and shared hosting providers would be directly shellable with this. Even exploits that got you onto a web server with a limited web shell = full root. Alternatively, sites that already have shells from previous script kiddies can be escalated to root too. Not that I would advocate any of this ^_^ But there are many places where local access is required and you rely on permissions to work properly. A program as important as sudo (or wide spread) is not the kind of place you want to see a vuln this severe
by bpiche on 1/26/21, 9:31 PM
Please let this be a reference to Count Zero and the loa of the matrix :(
by ncmncm on 1/26/21, 8:58 PM
I don't find bug reports for this in either Debian or Ubuntu bug tracking systems. When do these get entered?
by netsec_burn on 1/26/21, 8:04 PM
Shouldn't this affect macOS?
by megous on 1/26/21, 6:34 PM
One of those programs that you should not install unless you really need them.
by cyounkins on 1/27/21, 6:38 AM
What variant of `doas` do people run as an alternative? I see Duncaen/OpenDoas, slicer69/doas, multiplexd/doas on GitHub. None seem super widely used as judged by watches/stars/forks.
by cjohnson318 on 1/26/21, 10:06 PM
by krapp on 1/26/21, 8:49 PM
by tehjoker on 1/27/21, 12:39 AM
Are e.g. AWS, GCP, and Digital Ocean releasing emergency patches? I can't find info.
by jzer0cool on 1/26/21, 8:46 PM
Any list somewhere which provides a list of affected OSs or at least how to check?
by pengaru on 1/27/21, 3:17 AM
There's a reason my boxen have no sudo installed.
by bolangi on 1/27/21, 5:08 AM
If little sudo has buffer overflows, what can we expect in the huge codebases of DBus and systemd?
by mleonhard on 1/27/21, 5:25 AM
Is there a project to rewrite all of these Linux system utilities in forbid(unsafe) Rust?
by eqvinox on 1/26/21, 6:30 PM
‹insert "oh shit" here›
by syngrog66 on 1/27/21, 2:21 AM
this doesnt surprise me
a few years ago I found a flaw in sshd. because it was impacting a Linux PAM login/auth module I was writing in C. my module should have worked. but it wasnt. because of sshd. it blew me away, given how important that server is. luckily, others must have complained too, and it ended up being fixed in a newer sshd release. but the fact that it made it into a release in the first place, impacting PAM, was scary
on a not-totally-unrelated note, that was also the last C project I wrote, and since then I fell in love with Go and Rust. for systems code, for me, theres no going back. C is scary given the modern threat ecosystem and whats at stake