Ten-Year Old Sudo Vulnerability Gives Root Privileges on Host:
A major security hole in the Sudo utility could be abused by unprivileged users to gain root privileges on the vulnerable host, Qualys reports.
Designed to allow users to run programs with the security privileges of another user (by default superuser, hence the name, which is derived from 'superuser do'), Sudo is present in major Unix- and Linux-based operating systems out there.
Tracked as CVE-2021-3156, the recently identified vulnerability, which Qualys refers to as "Baron Samedit," was introduced in July 2011, and can be exploited to gain root privileges using a default Sudo configuration.
This means that an attacker able to compromise a low-privileged account on the machine could abuse the vulnerability to gain root access.
All legacy versions of Sudo, from 1.8.2 to 1.8.31p2, as well as the utility's stable releases from 1.9.0 to 1.9.5p1 are affected, in their default configuration.
[...] Qualys, which provides an in-depth technical analysis of the vulnerability, has published a proof-of-concept video to demonstrate how the issue can be exploited.
Also at Bleeping Computer.
CVE-2021-3156: Heap-Based Buffer Overflow in Sudo (Baron Samedit)
(Score: 2) by engblom on Thursday January 28 2021, @04:30PM (1 child)
My whole point in the OP of this thread was that we should put all effort to find a good solution. This problem with C/C++ is nothing new. We have had C for almost a half century and these problems with security been known for many decennials. It is an unforgivable situation that we still have not solved this. As I said earlier, if Rust is not good enough then efforts need to be put in making it good or then efforts needs to be put towards creating a better language that is still compatible with C, so you can replace part of the code without having to rewrite everything from scratch. Even Rust is several decennials too late as we have had this problem for so long time.
Why do big companies create programming language after programming language without caring about this? If we could sue MS, Apple, Google etc for shipping these kind of security problems in their OS I bet they would create a language that solves these problem. But now as they are not accountable for their products they do not care enough.
(Score: 2) by hendrikboom on Friday January 29 2021, @08:57PM
There are alternatives to Rust.
Consider Scheme. Specifically, the Gambit [umontreal.ca] implementation [umontreal.ca] of Scheme.
Its compiler generates C code from Scheme source, and explicitly permits you to specify what C code is to be generated for any new functions you define in your program should you wish to.
Compatible with C? Yes. You can even use it as a scripting language for existing C code if you desire. And it can be efficiently compiled all the way to machine code if you have a C compiler on hand.
(and it can also generate C++ if you need that)
Now I grant that this is a completely different kind of language from Rust, and is not likely to appeal to a lot of Rust programmers.
But it's clear that the space of potential C-compatible safe programming languages is vast and has hardly been explored.