[flagged]
Rewrite tools in new language, get new exciting bugs!
JWZ CADT51–60 of 131 posts
Why does snap-confine need to be setuid, rather than use a user namespace?
Eh. Definitely not great but until they make it so you can't trivially MitM sudo, I don't think any local privilege execution bugs on Linux are especially notable, at least for most desktop users. Also there's the whole xkcd "at least they can't install drivers" thing.
Semi-related: does anybody know of a reliable API that announces CVEs as they're published? Edit: for others who may be curious https://www.cve.org/Downloads
If you need metadata added by NVD, NVD website documents their API.
Earlier quoted context omitted.
The bigger problem here is it seems like the rust utilities were rushed to be released without extensive testing or security analysis because simply because they are written in rust . And this isn't the first serious flaw because of that. Doesn't surprise me coming from Canonical though. At least that's the vibe I'm getting from [1] and definitely [2] [1] https://cdn2.qualys.com/advisory/2026/03/17/snap-confine-sys..…
It's extremely early to say if things are rushed or not. It's unsurprising that newer software has an influx of vulnerabilities initially, it'll be a matter of retrospectively evaluating this after that time period has passed.
https://en.wikipedia.org/wiki/Bathtub_curve
It's a little different with software since you don't usually have the code or silicon wearing out, but aging software does start to have a mismatch with the way people are trying to use it and the things it has to interact with, which leads to a similar rise of "failure" in the end.
When will these distros accept suid was a mistake and disable it. It has lead to critical local privilege escalation exploits so many times.
I have the following C program that I use as an unprivileged user to put my system into and out of Game Mode.
1) Do you believe that this program is unsafe when compiled and set suid root?
2) How do you propose that I replace it with something that isn't suid root?
#include
#include
#include
#include
void maybe_do(const char * cmd) {
if(system(cmd)) {
perror(cmd);
exit(2);
}
}
int main(int argc, char** argv) {
if(argc != 2) {
return 1;
}
int turnOff = strncmp("on", argv[1], 2);
if(setuid(0)) {
perror("uid");
return 2;
}
if(turnOff) {
maybe_do("/usr/bin/cpupower frequency-set --governor schedutil > /dev/null");
maybe_do("/bin/echo auto > /sys/class/drm/card0/device/power_dpm_force_performance_level");
} else {
maybe_do("/usr/bin/cpupower frequency-set --governor performance > /dev/null");
maybe_do("/bin/echo high > /sys/class/drm/card0/device/power_dpm_force_performance_level");
}
return 0;
}Earlier quoted context omitted.
The bigger problem here is it seems like the rust utilities were rushed to be released without extensive testing or security analysis because simply because they are written in rust . And this isn't the first serious flaw because of that. Doesn't surprise me coming from Canonical though. At least that's the vibe I'm getting from [1] and definitely [2] [1] https://cdn2.qualys.com/advisory/2026/03/17/snap-confine-sys..…
The best discussion I can find for the official reasons for switching is https://discourse.ubuntu.com/t/carefully-but-purposefully-ox... - > But… why? > Performance is a frequently cited rationale for “Rewrite it in Rust” projects. While performance is high on my list of priorities, it’s not the primary driver behind this change. These utilities are at the heart of the distribution - and it’s the enhanced resilience…
Earlier quoted context omitted.
The best discussion I can find for the official reasons for switching is https://discourse.ubuntu.com/t/carefully-but-purposefully-ox... - > But… why? > Performance is a frequently cited rationale for “Rewrite it in Rust” projects. While performance is high on my list of priorities, it’s not the primary driver behind this change. These utilities are at the heart of the distribution - and it’s the enhanced resilience…
probably because many of those tools were around for 20ish years before 2005
Those three packages were combined into coreutils-5.0 in 2003 [4].
[1] https://groups.google.com/g/gnu.utils.bug/c/CviP42X_hCY/m/Ys... [2] https://groups.google.com/g/gnu.utils.bug/c/xpTRtuFpNQc/m/mR... [3] https://groups.google.com/g/gnu.utils.bug/c/iN5KuoJYRhU/m/V_... [4] https://lists.gnu.org/archive/html/info-gnu/2003-04/msg00000...
[flagged]
Is a race condition a memory related error?
An example race condition would be Mike and Sarah both wake up, notice there's no milk and decide to grab milk on the way home that evening, they both work a full day, drop past the store and arrive home with a carton of milk. But, now there are two cartons of milk, which is too much milk. Oops. This is called a "Time of Check versus Time of Use" race or ToCToU race.
(Safe) Rust does prevent Data Races which can be seen as a specific very weird type of Race Condition, unlike other race conditions a Data Race reflects a difference between how humans understand computers in order to write computer software and how the machine actually works.
Humans are used to experiencing a world in which things happen in order. We write software for that intuitive world, this is called "Sequential consistency". A happens before B, or B happens before A, one of these must be true. Mustn't it? But actually a modern multi-core CPU cannot afford sequential consistency, we give that up for more speed, so any appearance of sequential consistency in concurrent software is an illusion for our comfort. (Safe) Rust promises the illusion is maintained, if you try to shatter it the compiler is going to say "No", languages like C or C++ just say well, if you accidentally destroy the illusion your program might do absolutely anything at all, good luck with that.