x86/MCE/AMD: Use an u64 for bank_map
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 5.10.180, 5.15.111, 6.1.28, 6.2.15, 6.3.2
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
- Exploitation: none
- Automatable: no
- Technical impact: total
Summary
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. ]
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: total
- Record last updated
Affected versions
- Linux Linux
From a0bc32b3cacf194dc479b342f006203fd1e1941a · fixed in a9b9ea0e63a0ec5e97bf1219ab6dcbd55e362f83; From a0bc32b3cacf194dc479b342f006203fd1e1941a · fixed in 11c58a0c1937c157dbdf82d5ab634d68c99f3098; From a0bc32b3cacf194dc479b342f006203fd1e1941a · fixed in ba8ffb1251eb629c2ec35220e3896cf4f7b888a7; From a0bc32b3cacf194dc479b342f006203fd1e1941a · fixed in 9669fa17287c3af2bbd4868d4c8fdd9e57f8332e; From a0bc32b3cacf194dc479b342f006203fd1e1941a · fixed in 67bb7521b6420d81dab7538c0686f18f7d6d09f4; From a0bc32b3cacf194dc479b342f006203fd1e1941a · fixed in 4c1cdec319b9aadb65737c3eb1f5cb74bd6aa156
- Linux Linux
5.10
- KernelLinux
From 5.10.0 · fixed in 5.10.180; From 5.11.0 · fixed in 5.15.111; From 5.16.0 · fixed in 6.1.28; From 6.2.0 · fixed in 6.2.15; From 6.3.0 · fixed in 6.3.2