Processor vulnerability
CVE-2023-31315
Ring 0 code could change the SMM configuration through a model-specific register even with the SMM lock set, and run code in SMM.
- Name
- SMM lock bypass
- Also known as
- Sinkclose
- Vulnerability
- AMD AGESA, SMM and BIOS firmware
- Kind
- Firmware
- CVE published
- 2024-08-09 CVE record
- Advisories
- AMD-SB-7014
Once firmware sets the SMM lock, the registers that place and
protect SMRAM should be read-only. Enrique Nissim and Krzysztof
Okupski of IOActive found that a model-specific register was not
validated, so code at ring 0 could still change the SMM
configuration and run code of its own in System Management Mode.
AMD’s bulletin covers EPYC from the first to the fourth generation,
Instinct MI300A, the embedded lines and Ryzen and Threadripper
client parts back to the Ryzen 2000 series. The fix is PI firmware
from the board maker; for EPYC AMD also lists microcode that can be
loaded at run time.What the sources say of each microarchitecture.
Affected processors
5 of the 5 microarchitectures listed are affected in all or some of their models.
| Microarchitecture | Status | Detail | Source |
|---|---|---|---|
| Zen | Affected | EPYC 7001 (Naples), Ryzen 2000G (Raven Ridge), Athlon 3000 mobile, EPYC Embedded 3000, Ryzen Embedded R1000 and V1000 | amd.com |
| Zen+ | Affected | Ryzen 2000 desktop (Pinnacle Ridge), Ryzen Embedded R2000 | amd.com |
| Zen 2 | Affected | EPYC 7002 (Rome), Ryzen 3000 desktop (Matisse), Ryzen 4000 (Renoir), Ryzen 5000 mobile (Lucienne), Ryzen 7020 (Mendocino), Threadripper 3000 and PRO 3000 WX, EPYC Embedded 7002, Ryzen Embedded V2000 | amd.com |
| Zen 3 | Affected | EPYC 7003 (Milan), Ryzen 5000 (Vermeer, Cezanne, Barcelo), Ryzen 6000 and 7035 (Rembrandt), Threadripper PRO 5000 WX, EPYC Embedded 7003, Ryzen Embedded 5000 and V3000 | amd.com |
| Zen 4 | Affected | EPYC 9004 and 8004 (Genoa, Bergamo, Siena), Ryzen 7000 desktop (Raphael), Ryzen 7040 and 8040 (Phoenix, Hawk Point), Ryzen 7045 (Dragon Range), Threadripper 7000 (Storm Peak), EPYC Embedded 9004, Ryzen Embedded 7000 | amd.com |
Mitigations
- Firmware: PI firmware: NaplesPI 1.0.0.M, RomePI 1.0.0.J, MilanPI 1.0.0.D, GenoaPI 1.0.0.C, and the client and embedded PI versions the bulletin lists, from 2024. Source.
- Microcode: Hot-loadable microcode for EPYC dated 2024-05-03: 0x0800126F (Naples), 0x0830107C (Rome), 0x0A0011D5 (Milan), 0x0A101148 (Genoa). Source.
Related CVEs
- CVE-2020-12890 SMM callout in AGESA
- CVE-2020-12954 Chipset option bypasses SPI ROM protection
- CVE-2021-26316 BIOS communication buffer
- CVE-2021-26317 SMM protocol not verified
- CVE-2021-26384 SMI trigger data
- CVE-2021-26388 BIOS directory search
- CVE-2021-39298 SMM interrupt handler
- CVE-2022-23820 SMM communication buffer
- CVE-2022-23821 SPI ROM writes through SMM
- CVE-2022-23829 SPI lock bypass
- CVE-2023-20555 CpmDisplayFeatureSmm bit overwrite
- CVE-2023-20558 AmdCpmOemSmm control flow
- CVE-2023-20559 AmdCpmGpioInitSmm control flow
- CVE-2023-20563 SMM code protections
- CVE-2023-20565 SMM code protections (second CVE)
- CVE-2023-20571 SMM race with CVE-2018-8897
- CVE-2023-20576 AGESA data authenticity
- CVE-2023-20577 SMM module heap overflow
- CVE-2023-20578 SMM communication buffer race
- CVE-2023-20579 SPI protection bypass from ring 0
- CVE-2023-20587 SPI flash through SMM
- CVE-2023-20594 DXE driver variables (1)
- CVE-2023-20596 SMM Supervisor initialization
- CVE-2023-20597 DXE driver variables (2)
- CVE-2023-31342 SMM handler overwrites SMRAM (1)
- CVE-2023-31343 SMM handler overwrites SMRAM (2)
- CVE-2023-31345 SMM handler overwrites SMRAM (3)
- CVE-2024-0179 SMM callout in AmdCpmDisplayFeatureSMM
- CVE-2024-21924 SMM callout in AmdPlatformRasSspSmm
- CVE-2024-21925 AmdPspP2CmboxV2 input validation
- CVE-2024-21947 SMM arbitrary memory write
- CVE-2024-36310 SMM communication buffer bounds
- CVE-2024-36311 SMM communication buffer race
- CVE-2024-36326 RomArmor on resume
- CVE-2024-36343 SMM buffer and TSEG
- CVE-2024-36345 AMD OverDrive SMM module
- CVE-2024-36354 DIMM SPD data and SMM
- CVE-2024-36355 SMM handler and S3 resume
- CVE-2025-29950 SMM stack overwrite
- CVE-2025-54502 LocateProtocol in the APCB SMM driver
- CVE-2026-0438 SMM callout