Linux has a merged mitigation so when the new kernel comes out Linux users will be safe
Looks like I'm getting the final kick to Linux on my main gaming PC.
Welcome to the club! We're dozens here!
when the new kernel comes out Linux users will be safe
It’s going to take a lot longer than that for most distros to move to latest upstream. This specific fix might be pulled in as a hotfix if you’re lucky, but it still takes time. The latest Ubuntu LTS is on 5.15, for example, which was released in October 2021. Debian Bookworm, which just released last month, uses 6.1 from December 2022.
Critical security fixes are backported. There where a lot of kernels released yesterday that had the fix. For 5.15, 5.15.122 was released with the zenbleed mitigation.
5.15.122 was released with the zen bleed mitigation
But Ubuntu users (for example) won’t get that automatically. Canonical still has to pull the upstream release, run validation, and roll out a patch. It will probably be speedy, but still on the order of several weeks before people see it by default.
This is exactly the kind of thing that gets backported to stable LTS distros tho. The kernel Major.Minor is just the base - it doesn't tell the whole story.
Thank goodness I'm on arch (btw).
Time to sit back and relax
Why is it that every time there's drama about hardware, its something I own?
That's because of monopolies... There are only two brands of PC CPUs you could own...
Well, this happens to affect the Ryzen 5 3600, which I'm pretty sure is one of AMD's most popular processors ever....so you're certainly not alone.
Nice to know that security researchers are giving AMD some love too. Ill be sure to turn the patch off on my 3600 once it rolls around (can’t be losing any frames for something silly like security)
That's a very bad idea.
The bad news is that the exploit doesn't require physical hardware access and can be triggered by loading JavaScript on a malicious website.
I think it was sarcasm.
I want to say that I know, but it's the internet, so you can never be sure. ¯\_(ツ)_/¯
Planned fix
December 2023
Yikes.
It's worth noting these are the firmware / microcode fixes.
There's already a software solution available,
There is a software workaround, you can set the chicken bit DE_CFG[9]. This may have some performance cost, and the microcode update is preferred.
source: https://www.openwall.com/lists/oss-security/2023/07/24/3
AMD has also already released a fix for the big boy - the EPYC processor.
The article says it's exploitable via javascript on a random web page. I don't see how that could be possible
How come branch prediction seems so vulnerable to exploits? Both spectre and meltdown were also caused by branch prediction not working quite right.
The more steps in the instruction pipeline the more ways there are for there to be an error where some result doesn't get erased when undoing stuff from the wrong branch. It's basically like telling someone to move into a new house and get settled then stopping them six hours in and trying to make sure you get all their stuff out.
It wasn't branch prediction alone, it was the cache combined with branch prediction. The problem is that even discarded outcomes fill the cache with data. Those older vulnerabilities also had the problem that the access permissions check was done after the branch prediction. It's probably too expensive to do when it's not even clear yet whether the branch is going to be taken (that's just speculation on my part though).
(that’s just speculation on my part though).
I see what you did there, even if you didn't :)
affects all Zen 2-based Ryzen, Threadripper, and EPYC CPUs
I know they’re probably pretty common, all my stuff ended up being Zen 3. Here’s hoping they don’t find similar issues in later generations.
I've got an older 3900X that's Zen 2, but I'm otherwise clear, too.
It's kind of hard to figure out which Zen # a CPU falls under, so here's the Wiki page listing all Zen 2 CPUs.
ELI5 how this works?
The guys themselves made a pretty good write-up. https://lock.cmpxchg8b.com/zenbleed.html
The short version is that the very large registers on the modern CPUs aren't fixed things like they used to be, they're allocated from some register area on the die. When they "zero" the upper portion of one of the large registers it doesn't really clear it. It just releases the block back to available.
Another thing all CPUs need these days to keep fast is branch prediction. CPUs are only fast if they can keep the pipeline of upcoming commands (opcodes) to process full. So they often run both possible routes for a branch and discard the loser.
In this case they "trick" the CPU by asking it to "clear" a block of one of these large registers (the upper half). But then have the branch go the other way. What sometimes happens is that the register space is "released" but it has to take it back. In some specific circumstances they are able to have the register come back, but not with the original contents but with some random contents of maybe another register that was used by another thread (maybe even running on a different VM guest).
I have a server with a 3000 series CPU. I can confirm this definitely works. You'll get all kind of random blocks of memory from processes running as all users (and kernel code). For AMD processors running VM servers it is even worse. Because if you have say a VPS running on an AMD Zen2 CPU, you can login as any user run this and get random data from people on other VPS on the same hardware!
There is a linux workaround, and it seems most CPUs will be fixed by December.
Note: If you have access to a VPS that is vulnerable, do note that in most countries it is illegal to even try to exploit this.
Intel had something like this as well (side channel attack?). I remember it because Linus Torvalds (creator of Linux kernel) ripped Intel a new one.
They've had a couple. Spectre is the one to which you're referring, I bet.
Oh poop.
Is there any information on the performance impact of the microcode fix or is it too early for that?
Well
that's not great
Makes me glad I'm using an ancient CPU from before the vulnerability.
ELI5 how this works?
A CPU performs operations like "read a small bit of thing from the memory into the CPU" and "do a small bit of computation on things inside the CPU" and "put a small bit of thing from the CPU into the memory".
Doing small bits of computation on things inside the CPU is very fast but moving bits of things from or to the memory is slow in comparison. In order to not be slowed down, CPUs read the code ahead of what is currently being executed, and try to guess what is going to happen and what will need to be moved from the memory into the CPU, so they can do it ahead of time, and have the small bit of thing from the memory already available right there in the CPU when it's time to do a bit of computation on it. That way, there is no need to wait on slow memory, and the CPU runs much faster overall. That's a good thing.
In this case, a researcher found a way to make certain CPUs guess what is going to happen with the code wrong, in such a way that the small bits of things that were read from the memory ahead of time do not get properly cleaned up, and can still be found inside the CPU by another program. Those small bits of things might be your password or banking details, so that's bad.
Technology
This is a most excellent place for technology news and articles.
Our Rules
- Follow the lemmy.world rules.
- Only tech related content.
- Be excellent to each another!
- Mod approved content bots can post up to 10 articles per day.
- Threads asking for personal tech support may be deleted.
- Politics threads may be removed.
- No memes allowed as posts, OK to post as comments.
- Only approved bots from the list below, to ask if your bot can be added please contact us.
- Check for duplicates before posting, duplicates may be removed