4

All of the information I've seen thus far on Meltdown and Spectre explicitly reference 64-bit platforms. What about 32-bit (specifically RHEL/CentOS)? I would assume that's also vulnerable but can someone confirm if that's the case?

Mike B
  • 3,336
  • 4
  • 29
  • 39
  • 1
    32-bit is less vulnerable to meltdown because only the kernel space which is about 1GB becomes accessible to the exploiting program, whereas on amd64 Linux the entire memory space is mapped to user programs so it can access the entire physical memory on Linux. On Windows reading kernel memory allows elevation of privilege so both are vulnerable. That's what somebody told me. – Alex Cannon Jan 20 '18 at 02:25
  • 1
    It looks like some people may not understand what Meltdown (and Spectre) are able to do. They are vulnerabilities which allow a program to read the contents of its own virtual address space including areas that are supposed to generate a fault when read. For Meltdown, how much virtual address space is mapped to other things beside the exploiting program determines what and how much data can be leaked. There is no fix (except maybe CPU microcode), so the work around is to not map any extra sensitive memory at all and take the performance hit on system calls. – Alex Cannon Feb 09 '18 at 02:11

1 Answers1

7

Any CPU that performs speculative execution is vulnerable to Spectre, so yes, 32-bit OSs are vulnerable.

Meltdown is an issue with how Intel CPUs enforce memory protection while performing speculative execution (in short, memory protection isn't enforced until the point at which speculative execution is turned into real execution). 32-bit OSs on Intel CPUs are vulnerable, but the heavier use of swap reduces the impact somewhat (Meltdown can only read physical memory; data that's been swapped out to disk is inaccessible).

Mark
  • 34,390
  • 9
  • 85
  • 134
  • 2
    *"heavier use of swap"* - why should a 32-bit OS swap out more than a 64-bit OS? Swapping/Paging is done if more logical memory is needed than physically available. This should have nothing to do with 64-bit vs. 32-bit since just because one has more bits to address memory does not magically make more memory physically available. – Steffen Ullrich Jan 05 '18 at 07:58
  • 3
    No, but the inverse does apply: if I've got 32GB of RAM, I'm gonna use a 64-bit OS; if I've got 4GB of RAM, I'm gonna use a 32-bit OS. Assuming a similar workload (which is a big assumption), the 32-bit (4GB) OS is gonna swap a lot more. – Roger Lipscombe Jan 05 '18 at 09:27
  • 3
    32-bit kernels don’t tend to swap out their own data segment. – mirabilos Jan 05 '18 at 17:40