Sudo and its alternatives
Sudo and its alternatives
Posted Feb 21, 2024 20:08 UTC (Wed) by bluca (subscriber, #118303)In reply to: Sudo and its alternatives by oliwer
Parent article: Sudo and its alternatives
Posted Feb 21, 2024 21:39 UTC (Wed)
by marcus0x62 (guest, #168201)
[Link] (11 responses)
Posted Feb 21, 2024 22:01 UTC (Wed)
by bluca (subscriber, #118303)
[Link] (10 responses)
Posted Feb 21, 2024 22:56 UTC (Wed)
by marcus0x62 (guest, #168201)
[Link] (9 responses)
See also: https://www.jwz.org/blog/2021/01/i-told-you-so-2021-edition/
Posted Feb 21, 2024 23:23 UTC (Wed)
by bluca (subscriber, #118303)
[Link] (8 responses)
Polkit has been providing the escalating privileges functionality on Linux for almost 20 years now. It's had its fair share of problems, like any other software, but it is in no way an "unauditable mess", in fact, having recently done some substantial work to improve its robustness and modernize it, its core is pretty well reviewable. It's not in any way worse than larger components such as the kernel, both from the point of view of the size and also for the number of issues that affect it. In fact, I haven't counted but I am willing to bet the Linux kernel gets more high severity CVEs in any given year than polkit did in its entire lifetime.
> See also: https://www.jwz.org/blog/2021/01/i-told-you-so-2021-edition/
I have no idea what some rant about screensavers has to do with sudo and its replacements, sorry but you lost me there.
Posted Feb 21, 2024 23:57 UTC (Wed)
by marcus0x62 (guest, #168201)
[Link] (7 responses)
Posted Feb 22, 2024 0:24 UTC (Thu)
by bluca (subscriber, #118303)
[Link] (6 responses)
"Overly complex design" is usually a code word for "some stuff I haven't really looked into but I know I don't like", usually because "back in my day we used to punch holes in cards with a toothpick" or something along those lines.
> Both the screen locker and sudo/doas/uid0 have the *potential* of failing open - that is to say, to grant more privilege than they should in a failure state.
Code for all three of those is available to be cloned, so if you want to provide some proof for that statement, now would be the ideal time to do so.
Posted Feb 23, 2024 0:06 UTC (Fri)
by marcus0x62 (guest, #168201)
[Link] (5 responses)
If you honestly believe that there is no potential for these programs to fail open - as sudo has in the past due to exploitable vulnerabilities - or if you simply do not understand what ‘potential’ means, I cannot help you.
Posted Feb 23, 2024 0:24 UTC (Fri)
by Cyberax (✭ supporter ✭, #52523)
[Link] (4 responses)
If you look at sudo vulnerabilities ( https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=sudo ), a significant share of them is caused by failing to properly sanitize the environment.
uid0 is much more resilient against these kinds of attacks, because it starts from a known-good state and then drops privileges as needed. Not vice versa.
Is it possible that uid0 missed something? Sure. But it's far less likely.
Posted Feb 23, 2024 0:31 UTC (Fri)
by bluca (subscriber, #118303)
[Link] (3 responses)
Posted Feb 23, 2024 6:35 UTC (Fri)
by mb (subscriber, #50428)
[Link] (2 responses)
Posted Feb 23, 2024 18:26 UTC (Fri)
by wtarreau (subscriber, #51152)
[Link] (1 responses)
No, that's the mistake that has been done for a long time and it has not helped, it transforms language bugs into logic bugs because doing the right stuff gets more difficult.
What is needed is to make it easier to do the right thing. Due to this, bugs will be harder.
I would love to see a C standard variant with all UBs clearly defined to safe and intuitive values (mostly what the kernel sets with all its options in fact). *That* would make bugs less likely to happen and more detectable. But others tried in the past and it always ends up in bikeshedding.
Posted Feb 25, 2024 21:18 UTC (Sun)
by matthias (subscriber, #94967)
[Link]
What are safe and intuitive values if you do out of bounds access, use after free, data races, etc.? Most of the UB is there because it is actually UB on the hardware level.
Of course there is some UB in C that can be reasonably defined (e.g., signed integer overflow). But most security critical bugs are memory safety errors. And these cannot be defined away. If you want to get rid of these you need ownership tracking (the rust way), garbage collection (the java way) or some other runtime tracking (e.g., only allow reference counted pointers).
Sudo and its alternatives
Sudo and its alternatives
Sudo and its alternatives
Sudo and its alternatives
Sudo and its alternatives
Sudo and its alternatives
Sudo and its alternatives
Sudo and its alternatives
Sudo and its alternatives
Sudo and its alternatives
E.g. because they are written in unsafe languages or they don't use frameworks like systemd that bring applications into a known consistent startup state.
Just looking at actual bugs is not enough. We have done that for decades and failed miserably.
We have to make bugs harder to happen by design.
Sudo and its alternatives
Sudo and its alternatives
