Live data from Hacker News

Zenbleed

lock.cmpxchg8b.com

361–370 of 378 posts

Re: Zenbleed

#361

Anybody know how to disable the chicken bit on Windows? They're not planning to fix this until fucking December...

It seems like there's an wrmsr (write MSR) tool for Windows [0]. I don't know whether it will work the same way as the linux verison.

[0]: https://learn.microsoft.com/en-us/windows-hardware/drivers/d...

Re: Zenbleed

#362
post #306

Earlier quoted context omitted.

Why do comments like this just make a bold claim and then wander off as if the claim stands for itself? No explanation. No insight. I mean why should we just take your word for it? I'd like to be educated here why a big switch statement wouldn't necessarily protect us from these CPU vulnerabilities? Anyone willing to help?

The question should rather be: why would it protect you? This switch statement also runs on a CPU, which is still vulnerable. This CPU still speculates the execution of the switch statement. No amount of software will make hardware irrelevant.

You need certain instruction to exploit the vulnerability, if the switch statement doesn't use that then it is safe.

Re: Zenbleed

#363

Earlier quoted context omitted.

The idea being that the main process and content processes should never be on the same core? I would worry about cross site leakage. From my understanding that would be unavoidable as soon as you have more tabs open than cores, which feels like an unworkable restriction. Imagine opening a 9th tab and bring told you need to upgrade your 3700X to a 3900X.

I think there's several levels. As a first step, I'd appreciate reducing the risk of javascript extracting contents from outside the browser. A second step could be to use more granular core scheduling within firefox, to prevent sharing cores that shouldn't be shared. A process/thread hierarchy can create multiple core scheduling groups.

>As a first step, I'd appreciate reducing the risk of javascript extracting contents from outside the browser.

But that means essentially reserving a core for the browser only. I don't think that would be shippable by default.

Re: Zenbleed

#364
post #362

Earlier quoted context omitted.

The question should rather be: why would it protect you? This switch statement also runs on a CPU, which is still vulnerable. This CPU still speculates the execution of the switch statement. No amount of software will make hardware irrelevant.

You need certain instruction to exploit the vulnerability, if the switch statement doesn't use that then it is safe.

Hence my choice of phrasing: 'wouldn't necessarily protect you'.

So, yes, the switch statemement might be safe, but you would need to prove that your switch statement doesn't use those instructions. You don't get to claim that for free just because you are using a switch-statement.

Conversely, even if you execute bare metal instructions for the user of the VM, you could also deny those instructions to the user. Eg by not allowing self-modifying code, and statically making sure that the relevant code doesn't contain those instructions.

So the switch statement by itself does not do anything for your security.

Re: Zenbleed

#365
post #38

Earlier quoted context omitted.

I was able to reproduce the vulnerability using javascript on a webpage. Therefore, no.

Cloudflare blog also mentions javascript https://blog.cloudflare.com/zenbleed-vulnerability/

Might just be parroting the claim from this thread, though.

Re: Zenbleed

#366

Earlier quoted context omitted.

A very bold claim with zero evidence.

What about it is very bold? The instruction sequence mentioned seems pretty reasonable and not at all out of the question for a JavaScript JIT to generate.

It should be possible to patch this from the browser side as well.

Re: Zenbleed

#367

Earlier quoted context omitted.

So are Ryzen 5000's without Radeon not vulnerable? I guess said processors are zen 3? I have an "AMD Ryzen 9 5950x Desktop Processor" which appears to be Zen 3. I think I'm good? (Not that I'm running untrusted workloads, but yknow, fortune favors the prepared)

You are likely frequently running untrusted workloads. As javascript in a browser. I don't know about this one, but at least meltdown was fully exploitable from js. But yes, you are fine, 5950x is Zen3.

Your point is valid, but the processor in question is a server, so actually no js being run :).

Re: Zenbleed

#368
post #365

Earlier quoted context omitted.

Cloudflare blog also mentions javascript https://blog.cloudflare.com/zenbleed-vulnerability/

Might just be parroting the claim from this thread, though.

I would think that Cloudflare is reputable enough that they would not state that claim without at least having some knowledge about it.

Re: Zenbleed

#369

Earlier quoted context omitted.

> you're running instructions on the actual CPU Just how many times is the average operating system workload (with or without a virtual machine also running a second average operating system workload) context switching a second? Like... unless I'm wrong... the kernel is the main process, and then it slices up processes/threads, and each time those run, they have their own EAX/EBX/ECX/ESP/EBP/EIP/etc. (I know it's RAX…

Usually a few hundred to a few thousand times a second.

I've seen in the neighborhood of dozens of thousands of times on the high end

For anyone interested in seeing this on the nearest Linux box:

    vmstat -S M 1
Watch the 'cs' column go wild

Re: Zenbleed

#370

The README in the tar file with the exploit (linked at "If you want to test the exploit, the code is available here") contains some more details, including a timeline: - `2023-05-09` A component of our CPU validation pipeline generates an anomalous result. - `2023-05-12` We successfully isolate and reproduce the issue. Investigation continues. - `2023-05-14` We are now aware of the scope and severity of the issue. -…

Something is a little unclear to me. Does https://archlinux.org/packages/core/any/amd-ucode/ amd-ucode 20230625.ee91452d-5 last updated 2023-07-25 11:48 UTC Contains the microcode update that addresses this? https://git.kernel.org/pub/scm/linux/kernel/git/firmware/lin... says that the fixed version is 2023-07-18, but the amd-ucode version in Arch is 20230625.. but it was last updated in 2023-07-25.. My guess is that…

From what I can tell, 20230625 is the latest tagged release of of the linux-firmware repo: https://git.kernel.org/pub/scm/linux/kernel/git/firmware/lin...

Either way, as noted elsewhere in the comments, only the Rome CPU series has received updated microcode with fixes. All other Zen 2 users need the fix that was released as part of Linux 6.4.6: https://lwn.net/Articles/939102/

(which has been built and packaged for Arch)

Post reply on HN