AMD Server Vulnerabilities – August 2024
Bulletin ID: AMD-SB-3003
Potential Impact: Varies by CVE, see descriptions below
Severity: Varies by CVE, see descriptions below
Summary
Potential vulnerabilities in the AMD Secure Processor (ASP), AMD Secure Encrypted Virtualization (SEV), AMD Secure Encrypted Virtualization – Secure Nested Paging (SEV-SNP) and other platform components were discovered, and mitigations have been provided in AMD EPYC™ Platform Initialization (PI) firmware packages.
Please refer to your OEM for the BIOS update specific to your product.
CVE Details
Refer to Glossary for explanation of terms
CVE |
CVSS Score |
CVE Description |
CVE-2023-20578 |
7.5 (High) AV:L/AC:H/PR:H/UI:N/S:C/C:H/I:H/A:H |
A TOCTOU (Time-Of-Check-Time-Of-Use) in SMM may allow an attacker with ring0 privileges and access to the BIOS menu or UEFI shell to modify the communications buffer, potentially resulting in arbitrary code execution. |
CVE-2021-26344 |
7.2 (High) AV:L/AC:H/PR:H/UI:R/S:C/C:H/I:H/A:H |
An out of bounds memory write when processing the AMD PSP1 Configuration Block (APCB) could allow an attacker with access the ability to modify the BIOS image, and the ability to sign the resulting image, to potentially modify the APCB block resulting in arbitrary code execution. |
CVE-2023-20591 |
6.5 (Medium) AV:N /AC:H/PR:N/UI:N/S:C/ C:L/I:L/A:L |
Improper re-initialization of IOMMU during the DRTM event may permit an untrusted platform configuration to persist, allowing an attacker to read or modify hypervisor memory, potentially resulting in loss of confidentiality, integrity, and availability. |
CVE-2024-21981 |
5.7 (Medium) AV:L/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:N |
Improper key usage control in AMD Secure Processor (ASP) may allow an attacker with local access who has gained arbitrary code execution privilege in ASP to extract ASP cryptographic keys, potentially resulting in loss of confidentiality and integrity. |
CVE-2023-20584 |
5.3 (Medium) AV:L/AC:H/PR:H/UI:N/S:C/C:N/I:H/A:N |
IOMMU improperly handles certain special address ranges with invalid device table entries (DTEs), which may allow an attacker with privileges and a compromised Hypervisor (HV) to induce DTE faults to bypass RMP checks in SEV-SNP, potentially leading to a loss of guest integrity. |
CVE-2021-46746 |
5.2 (Medium) AV:L/AC:H/PR:H/UI:N/S:U/C:L/I:L/A:H |
Lack of stack protection exploit mechanisms in ASP Secure OS Trusted Execution Environment (TEE) may allow a privileged attacker with access to AMD signing keys to corrupt the return address, causing a stack-based buffer overrun, potentially leading to a denial of service. |
CVE-2023-31356 |
4.4 (Medium) AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:N |
Incomplete system memory cleanup in SEV firmware could allow a privileged attacker to corrupt guest private memory, potentially resulting in a loss of data integrity. |
CVE-2021-26387 |
3.9 (Low) AV:L/AC:H/PR:H/UI:N/S:C/C:N/I:L/A:L |
Insufficient access controls in ASP kernel may allow a privileged attacker with access to AMD signing keys and the BIOS menu or UEFI shell to map DRAM regions in protected areas, potentially leading to a loss of platform integrity. |
CVE-2021-46772 |
3.9 (Low) AV:L/AC:H/PR:H/UI:N/S:C/C:N/I:L/A:L |
Insufficient input validation in the ABL may allow a privileged attacker with access to the BIOS menu or UEFI shell to tamper with the structure headers in SPI ROM causing an out of bounds memory read and write, potentially resulting in memory corruption or denial of service. |
CVE-2023-20518 |
1.6 (Low) AV:L/AC:H/PR:H/UI:N/S:U/C:L/I:N/A:N
|
Incomplete cleanup in the ASP may expose the Master Encryption Key (MEK) to a privileged attacker with access to the BIOS menu or UEFI shell and a memory exfiltration vulnerability, potentially resulting in loss of confidentiality. |
Specific CVSS scores may change subject to your implementation. We encourage you to calculate CVSS scores independently for your system.
Mitigation
Refer to the Mitigation Options provided for each product below.
1st Gen AMD EPYC™ Processors formerly codenamed "Naples"
2nd Gen AMD EPYC™ Processors formerly codenamed "Rome"
3rd Gen AMD EPYC™ Processors formerly codenamed “Milan"
4th Gen AMD EPYC™ Processors formerly codenamed “Genoa"
1st Gen AMD EPYC™ Processors formerly codenamed "Naples"
AMD recommends updating to the Platform Initialization (PI) firmware version indicated below.
There are no other available mitigation options.
CPUIDs |
Mitigation Option 1 |
Mitigation Option 2 |
||
0x00800F12 |
Platform (Requires FW flash) |
μcode (Hot loadable) |
SEV FW |
|
Minimum firmware versions to mitigate all applicable CVEs |
NaplesPI 1.0.0.K (2023-06-14) |
N/A |
N/A |
|
CVE-2021-26344 |
(High) |
No fix planned1 |
N/A |
N/A |
CVE-2023-20578 |
(High) |
NaplesPI 1.0.0.K (2023-06-14) |
N/A |
N/A |
CVE-2021-46746 |
(Medium) |
No fix planned2 |
N/A
|
N/A
|
CVE-2023-20584 |
(Medium) |
Not affected |
N/A |
N/A |
CVE-2023-20591 |
(Medium) |
Not affected |
N/A |
N/A |
CVE-2023-31356 |
(Medium) |
Not affected |
N/A |
N/A |
CVE-2024-21981 |
(Medium) |
No fix planned3 |
N/A |
N/A |
CVE-2021-26387 |
(Low) |
No fix planned2 |
N/A |
N/A |
CVE-2021-46772 |
(Low) |
Not affected |
N/A |
N/A |
CVE-2023-20518 |
(Low) |
Not affected |
N/A |
N/A |
2nd Gen AMD EPYC™ Processors formerly codenamed "Rome"
AMD recommends updating to the Platform Initialization (PI) firmware version indicated below.
There are no other available mitigation options.
CPUIDs |
Mitigation Option 1 |
Mitigation Option 2 |
||
0x00830F10h |
Platform Initialization (PI) (Requires FW flash) |
μcode (Hot loadable) |
SEV FW |
|
Minimum firmware versions to mitigate all applicable CVEs below |
RomePI 1.0.0.G (2023-05-05) |
N/A |
N/A |
|
CVE-2021-26344 |
(High) |
RomePI 1.0.0.C (2021-07-22) |
N/A |
N/A |
CVE-2023-20578 |
(High) |
RomePI 1.0.0.G (2023-05-05) |
N/A |
N/A |
CVE-2021-46746 |
(Medium) |
No fix planned2 |
N/A |
N/A |
CVE-2023-20584 |
(Medium) |
Not affected |
N/A |
N/A |
CVE-2023-20591 |
(Medium) |
Not affected |
N/A |
N/A |
CVE-2023-31356 |
(Medium) |
Not affected |
N/A |
N/A |
CVE-2024-21981 |
(Medium) |
No fix planned3 |
N/A |
N/A |
CVE-2021-26387 |
(Low) |
No fix planned2 |
N/A |
N/A |
CVE-2021-46772 |
(Low) |
RomePI 1.0.0.E (2022-06-17) |
N/A |
N/A |
CVE-2023-20518 |
(Low) |
Not affected |
N/A |
N/A |
3rd Gen AMD EPYC™ Processors formerly codenamed “Milan"
AMD recommends updating to the Platform Initialization (PI) firmware version indicated below.
For some CVEs, there may be alternative mitigation options provided as Mitigation Option 2, including microcode and/or other patches.
CPUIDs |
Mitigation Option 1 |
Mitigation Option 2 |
TCB Values for SNP Attestation
|
||
0x00A00F11 0x00A00F12 |
Platform Initialization (PI) (Requires FW flash) |
μcode (Hot loadable) |
SEV FW (Hot loadable) |
||
Minimum firmware versions to mitigate all applicable CVEs below |
MilanPI 1.0.0.C (2023-12-18) |
||||
CVE-2021-26344 |
(High) |
(2021-08-05) |
N/A |
N/A |
N/A |
CVE-2023-20578 |
(High) |
MilanPI 1.0.0.B (2023-06-08) |
N/A |
N/A |
N/A |
CVE-2021-46746 |
(Medium) |
No fix planned2 |
N/A |
N/A |
N/A |
CVE-2023-20584 |
(Medium) |
MilanPI 1.0.0.C (2023-12-18) |
N/A |
SEV 1.55.9 [hex 1.37.09] |
TCB[SNP] >= 0xF |
CVE-2023-20591 |
(Medium) |
MilanPI 1.0.0.B (2023-06-08) |
N/A |
N/A |
N/A |
CVE-2023-31356 |
(Medium) |
MilanPI 1.0.0.C (2023-12-18) |
N/A |
SEV 1.55.17 [hex 01.37.11] |
TCB[SNP] >= 0x15 |
CVE-2024-21981 |
(Medium) |
No fix planned3 |
N/A |
N/A |
N/A |
CVE-2021-26387 |
(Low) |
No fix planned2 |
N/A |
N/A |
N/A |
CVE-2021-46772 |
(Low) |
MilanPI 1.0.0.9 (2022-05-21) |
N/A |
N/A |
N/A |
CVE-2023-20518 |
(Low) |
Not affected |
N/A |
N/A |
N/A |
4th Gen AMD EPYC™ Processors formerly codenamed "Genoa"
AMD recommends updating to the Platform Initialization (PI) firmware version indicated below.
For some CVEs, there may be alternative mitigation options provided as Mitigation Option 2, including microcode and/or other patches.
CPUIDs |
Mitigation Option 1 |
Mitigation Option 2 |
TCB Values for SNP Attestation
|
||
0x00A10F11 0x00A10F12 0x00AA0F02 |
Platform Initialization (PI) (Requires FW flash) |
μcode (Hot loadable) |
SEV FW (Hot loadable) |
||
Minimum firmware versions to mitigate all listed CVEs |
GenoaPI 1.0.0.B (2023-12-15) |
||||
CVE-2021-26344 |
(High) |
Not affected |
N/A
|
N/A
|
N/A
|
CVE-2023-20578 |
(High) |
GenoaPI 1.0.0.2 (2022-10-04) |
N/A |
N/A |
N/A |
CVE-2021-46746 |
(Medium) |
No fix planned2 |
N/A
|
N/A
|
N/A
|
CVE-2023-20584 |
(Medium) |
GenoaPI 1.0.0.B (2023-12-15) |
N/A |
SEV firmware 1.55.23 [hex 1.37.17] |
|
CVE-2023-20591 |
(Medium) |
Genoa 1.0.0.8 (2023-06-09) |
N/A |
N/A
|
N/A |
CVE-2023-31356 |
(Medium) |
GenoaPI 1.0.0.B (2023-12-15) |
N/A |
1.55.31 [hex 1.37.1F] |
TCB[SNP] >= 0x13 |
CVE-2024-21981 |
(Medium) |
Not affected |
N/A |
N/A |
N/A |
CVE-2021-26387 |
(Low) |
No fix planned2 |
N/A |
N/A |
N/A |
CVE-2021-46772 |
(Low) |
Not affected |
N/A |
N/A |
N/A |
CVE-2023-20518 |
(Low) |
GenoaPI 1.0.0.4 (2022-12-22) |
N/A |
N/A |
N/A |
Acknowledgement
AMD thanks the following for reporting these issues and engaging in coordinated vulnerability disclosure:
Hugo Magalhaes, Oracle Security Researcher - CVE-2024-21981
Reported by Cfir Cohen, Jann Horn, Mark Brand of Google - CVE-2021-26344
Internally found: CVE-2021-26387, CVE-2021-46746, CVE-2021-46772, CVE-2023-20518, CVE-2023-20584, CVE-2023-31356
Revisions
Revision Date |
Description |
2024-08-13 |
Initial publication |
DISCLAIMER
The information contained herein is for informational purposes only and is subject to change without notice. While every precaution has been taken in the preparation of this document, it may contain technical inaccuracies, omissions and typographical errors, and AMD is under no obligation to update or otherwise correct this information. Advanced Micro Devices, Inc. makes no representations or warranties with respect to the accuracy or completeness of the contents of this document, and assumes no liability of any kind, including the implied warranties of noninfringement, merchantability or fitness for particular purposes, with respect to the operation or use of AMD hardware, software or other products described herein. Any computer system has risks of security vulnerabilities that cannot be completely prevented or mitigated. No license, including implied or arising by estoppel, to any intellectual property rights is granted by this document. Terms and limitations applicable to the purchase or use of AMD’s products are as set forth in a signed agreement between the parties or in AMD's Standard Terms and Conditions of Sale.
AMD, the AMD Arrow logo, EPYC and combinations thereof are trademarks of Advanced Micro Devices, Inc. CVE and the CVE logo are registered trademarks of The MITRE Corporation. Other product names used in this publication are for identification purposes only and may be trademarks of their respective companies.
Third party content may be licensed to you directly by the third party that owns the content and is not licensed to you by AMD. ALL LINKED THIRD-PARTY CONTENT IS PROVIDED ‘AS IS’ WITHOUT A WARRANTY OF ANY KIND. USE OF SUCH THIRD-PARTY CONTENT IS DONE AT YOUR SOLE DISCRETION AND UNDER NO CIRCUMSTANCES WILL AMD BE LIABLE TO YOU FOR ANY THIRD-PARTY CONTENT. YOU ASSUME ALL RISK AND ARE SOLELY RESPONSIBILITY FOR ANY DAMAGES THAT MAY ARISE FROM YOUR USE OF THIRD-PARTY CONTENT.
© 2024 Advanced Micro Devices, Inc. All rights reserved.
Footnotes
- The mitigation of this vulnerability on older architecture could cause undesirable side effects and potentially have a more adverse impact than the exploit itself.
- This is a defense in depth vulnerability. To leverage this vulnerability, a more impactful event would need to occur; specifically, the loss of PSP signing keys. If a key escaped, attacking the PSP would have a trivial impact and there would be no benefit to exploiting this vulnerability.
- Attacker first needs to gain arbitrary privilege code execution within ASP exploiting a separate ASP FW vulnerability that has been fixed already.
- The mitigation of this vulnerability on older architecture could cause undesirable side effects and potentially have a more adverse impact than the exploit itself.
- This is a defense in depth vulnerability. To leverage this vulnerability, a more impactful event would need to occur; specifically, the loss of PSP signing keys. If a key escaped, attacking the PSP would have a trivial impact and there would be no benefit to exploiting this vulnerability.
- Attacker first needs to gain arbitrary privilege code execution within ASP exploiting a separate ASP FW vulnerability that has been fixed already.