Conversation

RE: https://mastodon.social/@cks/117547904775599551

if you rewrite software in rust and then deviate from how that software behaves -- you haven't actually rewritten the software in rust, you've just made an incompatible clone.

(the real security problems with sudo are related to the combinatorial complexity of the config format anyway)

2
2
0

@ariadne

> the real security problems with sudo are related to the combinatorial complexity of the config format anyway

thats *why* they made incompatible changes with real sudo

1
0
0

@fossdd great! stop calling it "sudo rewritten in rust" then, because it isn't.

2
0
0

@ariadne the config file format's not even... good. sticking to it just feels like buying problems when you could have designed something better

0
0
0

@ariadne @fossdd
This.
Just scratch sudo.
Start from su and see what the minimal viable secure configurability is to make it serve its purpose.
If the design is sane, the language won't make all that much difference.

1
0
0

@wfk @ariadne @fossdd su is also just a suid binary and therefore not good starting point

1
0
0

@lhp @ariadne @fossdd
Being setuid root isn't inherently bad. It becomes bad when the program has too much functionality and too little security checking.

1
0
0

@wfk @lhp @fossdd nah, setuid should be avoided. it is too large of a footgun. stuff like run0, capsudo, etc. is the proper way to solve this problem, but i'll gladly take doas over sudo any day of the week.

1
0
0
@ariadne @fossdd wanting to rewrite something in $other_programming_language gives you an opportunity to not only merely rewrite (because that is the easy part, let's face it) but question design decisions and try to be *better* than the thing you're trying to somehow rewrite.

If sudo-rs is much more than just sudo rewritten in rust (and I'm sure that's the case, because the same tool written in a different language certainly is not interesting. Rewriting is cheap nowadays, for better or worse) then it probably should part ways with "sudo". Because if it is *just* merely a rewrite, it failed.
0
0
0