AMD Server Vulnerabilities – January 2023
Bulletin ID: AMD-SB-1032
Potential Impact: Varies by CVE, see descriptions below
Severity: Varies by CVE, see descriptions below
Summary
During security reviews in collaboration with Google, Microsoft, and Oracle, potential vulnerabilities in the AMD Secure Processor (ASP), AMD System Management Unit (SMU), AMD Secure Encrypted Virtualization (SEV) and other platform components were discovered and have been mitigated in AMD EPYC™ AGESA™ PI packages.
CVE Details
Refer to Glossary for explanation of terms
CVE |
Severity |
Description |
CVE‑2021‑26316 |
High |
Failure to validate the communication buffer and communication service in the BIOS may allow an attacker to tamper with the buffer resulting in potential SMM arbitrary code execution. |
CVE-2021-26398 |
High |
Insufficient input validation in SYS_KEY_DERIVE system call in a compromised user application or ABL may allow an attacker to corrupt ASP (AMD Secure Processor) OS memory which may lead to potential arbitrary code execution. |
CVE-2021-26402 | High |
Insufficient bounds checking in ASP (AMD Secure Processor) firmware while handling BIOS mailbox commands, may allow an attacker to write partially-controlled data out-of-bounds to SMM or SEV-ES regions which may lead to a potential loss of integrity and availability. |
CVE-2021-39298 |
High |
A potential vulnerability in AMD System Management Mode (SMM) interrupt handler may allow an attacker with high privileges to access the SMM resulting in arbitrary code execution which could be used by malicious actors to bypass security mechanisms provided in the UEFI firmware. |
CVE-2021-26328 |
Medium |
Failure to verify the mode of CPU execution at the time of SNP_INIT may lead to a potential loss of memory integrity for SNP guests. |
CVE-2021-26343 |
Medium |
Insufficient validation in ASP BIOS and DRTM commands may allow malicious supervisor x86 software to disclose the contents of sensitive memory which may result in information disclosure. |
CVE-2021-26355 |
Medium |
Insufficient fencing and checks in System Management Unit (SMU) may result in access to invalid message port registers that could result in a potential denial-of-service. |
CVE-2021-26353 | Medium |
Failure to validate inputs in SMM may allow an attacker to create a mishandled error leaving the DRTM UApp in a partially initialized state potentially resulting in loss of memory integrity. |
CVE-2021-26396 |
Medium |
Insufficient validation of address mapping to IO in ASP (AMD Secure Processor) may result in a loss of memory integrity in the SNP guest. |
CVE-2021-26403 |
Medium |
Insufficient checks in SEV may lead to a malicious hypervisor disclosing the launch secret potentially resulting in compromise of VM confidentiality. |
CVE-2021-26407 |
Medium |
A randomly generated Initialization Vector (IV) may lead to a collision of IVs with the same key potentially resulting in information disclosure. |
CVE-2021-26409 |
Medium |
Insufficient bounds checking in SEV-ES may allow an attacker to corrupt Reverse Map table (RMP) memory, potentially resulting in a loss of SNP (Secure Nested Paging) memory integrity. |
CVE-2021-46779 |
Medium |
Insufficient input validation in SVC_ECC_PRIMITIVE system call in a compromised user application or ABL may allow an attacker to corrupt ASP (AMD Secure Processor) OS memory which may lead to potential loss of integrity and availability. |
CVE-2021-46791 |
Medium |
Insufficient input validation during parsing of the System Management Mode (SMM) binary may allow a maliciously crafted SMM executable binary to corrupt Dynamic Root of Trust for Measurement (DRTM) user application memory that may result in a potential denial of service. |
CVE-2022-23813 |
Medium |
The software interfaces to ASP and SMU may not enforce the SNP memory security policy resulting in a potential loss of integrity of guest memory in a confidential compute environment. |
CVE-2022-23814 |
Medium |
Failure to validate addresses provided by software to BIOS commands may result in a potential loss of integrity of guest memory in a confidential compute environment. |
CVE-2023-20529 |
Medium |
Insufficient bound checks in the SMU may allow an attacker to update the from/to address space to an invalid value potentially resulting in a denial of service. |
CVE-2023-20530 |
Medium |
Insufficient input validation of BIOS mailbox messages in SMU may result in out-of-bounds memory reads potentially resulting in a denial of service. |
CVE-2023-20531 |
Medium |
Insufficient bound checks in the SMU may allow an attacker to update the SRAM from/to address space to an invalid value potentially resulting in a denial of service. |
CVE-2021-26404 |
Low |
Improper input validation and bounds checking in SEV firmware may leak scratch buffer bytes leading to potential information disclosure. |
CVE-2021-46767 |
Low |
Insufficient input validation in the ASP may allow an attacker with physical access, unauthorized write access to memory potentially leading to a loss of integrity or denial of service. |
CVE-2021-46768 |
Low |
Insufficient input validation in SEV firmware may allow an attacker to perform out-of-bounds memory reads within the ASP boot loader, potentially leading to a denial of service. |
CVE-2023-20522 |
Low |
Insufficient input validation in ASP may allow an attacker with a malicious BIOS to potentially cause a denial of service. |
CVE-2023-20523 |
Low |
TOCTOU in the ASP may allow a physical attacker to write beyond the buffer bounds, potentially leading to a loss of integrity or denial of service. |
CVE-2023-20525 |
Low |
Insufficient syscall input validation in the ASP Bootloader may allow a privileged attacker to read memory outside the bounds of a mapped register potentially leading to a denial of service. |
CVE-2023-20527 |
Low |
Improper syscall input validation in the ASP Bootloader may allow a privileged attacker to read memory out-of-bounds, potentially leading to a denial-of-service. |
CVE-2023-20528 |
Low |
Insufficient input validation in the SMU may allow a physical attacker to exfiltrate SMU memory contents over the I2C bus potentially leading to a loss of confidentiality. |
CVE-2023-20532 |
Low |
Insufficient input validation in the SMU may allow an attacker to improperly lock resources, potentially resulting in a denial of service. |
Specific CVSS scores may change subject to your implementation. We encourage you to calculate CVSS scores independently for your system.
Mitigation
The AGESA™ versions listed below have been released to the Original Equipment Manufacturers (OEM) to mitigate these issues. Please refer to your OEM for the BIOS update specific to your product.
CVE |
1st Gen AMD EPYC™ Processors | 2nd Gen AMD EPYC™ Processors |
3rd Gen AMD EPYC™ |
Minimum version to mitigate all listed CVEs | NaplesPI 1.0.0.H |
RomePI 1.0.0.E |
MilanPI-SP3_1.0.0.9 |
CVE-2021-26316 | NaplesPI 1.0.0.H |
RomePI 1.0.0.D |
MilanPI-SP3 1.0.0.8 |
CVE-2021-26328 | N/A |
N/A |
MilanPI-SP3_1.0.0.8 |
CVE-2021-26355 | N/A |
No fix planned |
MilanPI 1.0.0.7 |
CVE-2021-26353 | N/A |
N/A |
MilanPI 1.0.0.4 |
CVE-2021-26396 | N/A |
N/A |
MilanPI-SP3_1.0.0.9 |
CVE-2021-26398 | NaplesPI 1.0.0.H |
RomePI 1.0.0.C |
MilanPI 1.0.0.4 |
CVE-2021-26402 | N/A |
RomePI 1.0.0.B |
MilanPI 1.0.0.8 |
CVE-2021-26403 | NaplesPI 1.0.0.E |
RomePI 1.0.0.9 |
N/A |
CVE-2021-26404 | N/A |
N/A |
MilanPI-SP3_1.0.0.9 |
CVE-2021-39298 | N/A |
RomePI 1.0.0.E |
MilanPI-SP3 1.0.0.8 |
CVE-2021-46768 | N/A |
RomePI 1.0.0.D |
MilanPI 1.0.0.5 |
CVE-2021-46767 | N/A |
RomePI 1.0.0.D |
MilanPI 1.0.0.6 |
CVE-2021-46779 | NaplesPI 1.0.0.G |
RomePI 1.0.0.C |
MilanPI 1.0.0.4 |
CVE-2021-46791 | N/A |
N/A |
MilanPI 1.0.0.3 |
CVE-2021-26343 | N/A |
N/A |
MilanPI 1.0.0.3 |
CVE-2021-26407 | N/A |
RomePI 1.0.0.A |
N/A |
CVE-2021-26409 | N/A |
N/A |
MilanPI 1.0.0.3 |
CVE-2022-23813 | N/A |
RomePI 1.0.0.E |
MilanPI-SP3 1.0.0.9 |
CVE-2022-23814 | N/A |
N/A |
MilanPI-SP3 1.0.0.9 |
CVE-2023-20522 | N/A |
RomePI 100D |
MilanPI 1.0.0.5 |
CVE-2023-20523 | N/A |
RomePI 1.0.0.C |
MilanPI 1.0.0.5 |
CVE-2023-20525 | N/A |
RomePI 100D |
MilanPI 1.0.0.5 |
CVE-2023-20527 | 1.0.0.G |
RomePI 1.0.0.C |
MilanPI 1.0.0.5 |
CVE-2023-20528 | N/A |
RomePI 1.0.0.C |
MilanPI 1.0.0.5 |
CVE-2023-20529 | N/A |
RomePI 1.0.0.C |
MilanPI 1.0.0.5 |
CVE-2023-20530 | N/A |
21.Q2 Enterprise Driver |
MilanPI 1.0.0.5 |
CVE-2023-20531 | N/A |
RomePI 1.0.0.C |
MilanPI 1.0.0.5 |
CVE-2023-20532 | N/A |
RomePI 1.0.0.C |
MilanPI 1.0.0.5 |
SEV TABLE
CVE ID | SEV |
SEV-ES |
SEV-SNP |
CVE-2021-26316 | N |
N |
N |
CVE-2021-26328 | N |
N |
Y |
CVE-2021-26343 | Y |
Y |
Y |
CVE-2021-26353 | N |
N | N |
CVE-2021-26355 | Y |
Y |
Y |
CVE-2021-26396 | N |
Y |
Y |
CVE-2021-26398 | Y |
Y |
Y |
CVE-2021-26402 | N |
Y |
Y |
CVE-2021-26403 | Y |
Y |
N |
CVE-2021-26404 | N |
N |
Y |
CVE-2021-26407 |
Y |
Y |
N |
CVE-2021-26409 | N |
N |
Y |
CVE-2021-39298 | N |
N |
N |
CVE-2021-46767 | N |
N |
N |
CVE-2021-46768 | N |
N |
N |
CVE-2021-46779 | Y |
Y |
Y |
CVE-2021-46791 | Y |
Y |
Y |
CVE-2022-23813 | N |
N |
Y |
CVE-2022-23814 | N |
N |
Y |
CVE-2023-20522 | N |
N |
N |
CVE-2023-20523 | N |
N |
N |
CVE-2023-20525 | N |
N |
N |
CVE-2023-20527 | Y |
Y |
Y |
CVE-2023-20528 | N |
N |
N |
CVE-2023-20529 | N |
N |
N |
CVE-2023-20530 | N |
N |
N |
CVE-2023-20531 | N |
N |
N |
CVE-2023-20532 | N |
N |
N |
Acknowledgement
AMD thanks the following for reporting these issues and engaging in coordinated vulnerability disclosure.
- Jiawei Yin(@yngweijw): CVE-2021-26316
- BINARLY efiXplorer team: CVE-2021-39298
- Hugo Magalhaes Oracle Security Researcher: CVE-2022-23814, CVE-2021-26402
- Cfir Cohen, Jann Horn, Mark Brand of Google: CVE-2021-26328
Internally reported: CVE-2022-23813, CVE-2021-26355, CVE-2021-26396, CVE-2021-26404, CVE-2021-46791, CVE-2021-26343, CVE-2021-26403, CVE-2021-26407, CVE-2021-26409, CVE-2021-26353, CVE-2023-20528, CVE-2023-20527, CVE-2023-20531, CVE-2023-20530, CVE-2023-20532, CVE-2023-20529, CVE-2023-20523, CVE-2021-46768, CVE-2023-20522, CVE-2023-20525, CVE-2021-26398, CVE-2021-46767, CVE-2021-46779
Revisions
Revision Date | Description |
1/10/2023 | Initial publication |