What’s Vulnerable › Vulnerabilities

CVE-2023-53474: x86/MCE/AMD: Use an u64 for bank_map

Description

In the Linux kernel, the following vulnerability has been resolved: x86/MCE/AMD: Use an u64 for bank_map Thee maximum number of MCA banks is 64 (MAX_NR_BANKS), see a0bc32b3cacf ("x86/mce: Increase maximum number of banks to 64"). However, the bank_map which contains a bitfield of which banks to initialize is of type unsigned int and that overflows when those bit numbers are >= 32, leading to UBSAN complaining correctly: UBSAN: shift-out-of-bounds in arch/x86/kernel/cpu/mce/amd.c:1365:38 shift exponent 32 is too large for 32-bit type 'int' Change the bank_map to a u64 and use the proper BIT_ULL() macro when modifying bits in there. [ bp: Rewrite commit message. ]

Affected products

How to fix

Upgrade to a fixed version: Linux kernel 5.10.180, 5.15.111, 6.1.28, 6.2.15. Check the vendor advisory for mitigations.

References

Get alerted when CVE-2023-53474 or the next vulnerability affects your stack