{"id":"CVE-2024-21954","kind":"vulnerability","aliases":["CVE-2024-21954"],"related":[],"title":"AMD IOMMU: bad exception handling lets invalidate commands crash PCIe devices","description":"Improper exception handling in IOMMU could allow an invalidate command to be sent to PCIe devices that do not support Address Translation Cache (ATC), potentially resulting in denial of service.","summary":"AMD IOMMU invalidation handling can send invalidate requests to PCIe devices without Address Translation Cache support. A guest VM attacker could make the IOMMU wait indefinitely for a completion, causing denial of service to the hypervisor and/or other guests. AMD rates it CVSS 4.0 7.0. Fixed via OEM BIOS updates carrying new PI firmware.","severity":"high","cvss":7.0,"epss":null,"exploited":false,"exploited_at":null,"products":[{"name":"AMD EPYC 7003 Series","fixed":["MilanPI-SP3_1.0.0.J"],"affected":"PI firmware before MilanPI-SP3_1.0.0.J","ecosystem":"vendor"},{"name":"AMD EPYC 9004 Series","fixed":["GenoaPI_1.0.0.H"],"affected":"PI firmware before GenoaPI_1.0.0.H","ecosystem":"vendor"},{"name":"AMD EPYC Embedded 7003 Series","fixed":["EmbMilanPI-SP3 1.0.0.D"],"affected":"PI firmware before EmbMilanPI-SP3 1.0.0.D","ecosystem":"vendor"},{"name":"AMD EPYC Embedded 9004 Series","fixed":["EmbGenoaPI-SP5 1.0.0.D"],"affected":"PI firmware before EmbGenoaPI-SP5 1.0.0.D","ecosystem":"vendor"}],"ecosystems":[],"tags":["amd","bios","epyc","firmware","infrastructure","iommu","pcie","self-hosted","servers","virtualization"],"not_affected_if":["no-amd-epyc","no-untrusted-guest-vms"],"how_to_check":"Check whether servers use AMD EPYC 7003 (Milan), 9004 (Genoa) or Embedded 7003/9004 CPUs (lscpu), then compare the BIOS/AGESA PI version (dmidecode -t bios, or the OEM's BIOS release notes) against the fixed PI versions. Risk matters mainly where untrusted guest VMs run with PCIe passthrough or devices lacking ATC support.","fix":"Update BIOS from your OEM that includes AMD PI firmware: EPYC 7003 MilanPI-SP3_1.0.0.J or later; EPYC 9004 GenoaPI_1.0.0.H or later; EPYC Embedded 7003 EmbMilanPI-SP3 1.0.0.D; EPYC Embedded 9004 EmbGenoaPI-SP5 1.0.0.D. Fixed in AMD PI releases to OEMs 2025-12-02 to 2026-02-02; bulletin AMD-SB-3052.","status":"open","published_at":"2026-11-12T19:16:44+00:00","first_seen_at":"2026-11-12T19:40:12+00:00","triaged_at":"2026-11-12T19:40:47+00:00","updated_at":"2026-11-12T19:41:40+00:00","category":"infrastructure","confidence":0.85,"triage":{"at":"2026-11-12T19:40:47Z","model":"claude-haiku-5-5","output":{"fix":"unknown","reach":"local","title":"AMD IOMMU: bad exception handling lets invalidate commands crash PCIe devices","impact":"low","summary":"An improper exception handling flaw in the IOMMU can send an invalidate command to PCIe devices that do not support the Address Translation Cache. The likely result is a denial of service.","audience":"businesses","category":"infrastructure","nicknames":[],"who_cares":["iommu","pcie","servers"],"confidence":0.4,"fix_status":"unknown","needs_auth":"unknown","worst_case":"Denial of service on affected PCIe devices or the host","analyst_note":"Identify the affected AMD products and fixed firmware or BIOS versions from AMD's security bulletin; NVD gives only the description.","how_to_check":"unknown","plain_action":"","product_name":"","needs_analyst":true,"not_affected_if":[],"who_is_affected":"Systems with an IOMMU and PCIe devices that lack Address Translation Cache support are the ones the description covers. The sources do not name the affected hardware or firmware versions.","user_interaction":"no","product_ecosystem":"","needs_special_setup":"unknown","severity_if_unknown":"high"},"cost_usd":0.000664,"input_tokens":4514,"output_tokens":425,"severity_before":"high"},"analyst_status":"done","analyst_note":"Identify the affected AMD products and fixed firmware or BIOS versions from AMD's security bulletin; NVD gives only the description.","search":"'-2024':13A,16A '-21954':14A,17A '4.0':91B '7.0':92B '7003':20A,29A '9004':24A,34A 'address':60B,122C 'allow':108C 'amd':1A,18A,22A,26A,31A,36B,48B,87B 'and/or':84B 'atc':125C 'attack':67B 'bad':3A 'bio':37B,96B 'cach':62B,124C 'carri':98B 'caus':77B 'command':8A,111C 'complet':76B 'could':68B,107C 'crash':9A 'cve':12A,15A 'cvss':90B 'denial':78B,129C 'devic':11A,58B,117C 'embedded':28A,33A 'epyc':19A,23A,27A,32A,38B 'except':4A,103C 'firmwar':39B,101B 'fix':93B 'guest':65B,86B 'handl':5A,51B,104C 'host':45B 'hypervisor':83B 'improp':102C 'indefinit':73B 'infrastructur':40B 'invalid':7A,50B,54B,110C 'iommu':2A,41B,49B,71B,106C 'let':6A 'make':69B 'new':99B 'oem':95B 'pcie':10A,42B,57B,116C 'pi':100B 'potenti':126C 'rate':88B 'request':55B 'result':127C 'self':44B 'self-host':43B 'send':53B 'sent':114C 'series':21A,25A,30A,35A 'server':46B 'servic':80B,131C 'support':63B,121C 'translat':61B,123C 'updat':97B 'via':94B 'virtual':47B 'vm':66B 'wait':72B 'without':59B","nicknames":[],"mitigations":[],"who_affected":"Servers running AMD EPYC 7003, 9004, Embedded 7003 or Embedded 9004 processors whose BIOS predates the fixed AMD PI firmware. It matters most for hypervisors hosting guest VMs you do not trust, since a guest can hang the IOMMU and impact the host and other guests. Desktop, non-EPYC and single-tenant systems can mostly skip it.","tier":"B","verified":{"fix":{"at":"2026-11-12T19:41:40Z","by":"analyst","doc":"https://www.amd.com/en/resources/product-security/bulletin/amd-sb-3052.html","run_id":3769},"products":{"at":"2026-11-12T19:41:40Z","by":"analyst","doc":"https://www.amd.com/en/resources/product-security/bulletin/amd-sb-3052.html","run_id":3769},"who_affected":{"at":"2026-11-12T19:41:40Z","by":"analyst","doc":"https://www.amd.com/en/resources/product-security/bulletin/amd-sb-3052.html","run_id":3769}},"analyst_revisit_at":null,"fix_status":"available","audience":"businesses","plain_action":null,"pkeys":["amdepyc7003series","amdepyc9004series","amdepycembedded7003series","amdepycembedded9004series","epyc7003series","epyc9004series","epycembedded7003series","epycembedded9004series"],"ptokens":["7003","9004","amd","embedded","epyc","series"],"labels":["amd","bios","epyc","firmware","high","infrastructure","iommu","pcie","selfhosted","servers","virtualization"],"campaign_type":null,"search_a":"'-2024':13A,16A '-21954':14A,17A '7003':20A,29A '9004':24A,34A 'amd':1A,18A,22A,26A,31A 'bad':3A 'command':8A 'crash':9A 'cve':12A,15A 'devic':11A 'embedded':28A,33A 'epyc':19A,23A,27A,32A 'except':4A 'handl':5A 'invalid':7A 'iommu':2A 'let':6A 'pcie':10A 'series':21A,25A,30A,35A","search_b":"'4.0':91B '7.0':92B 'address':60B 'amd':36B,48B,87B 'and/or':84B 'attack':67B 'bio':37B,96B 'cach':62B 'carri':98B 'caus':77B 'complet':76B 'could':68B 'cvss':90B 'denial':78B 'devic':58B 'epyc':38B 'firmwar':39B,101B 'fix':93B 'guest':65B,86B 'handl':51B 'host':45B 'hypervisor':83B 'indefinit':73B 'infrastructur':40B 'invalid':50B,54B 'iommu':41B,49B,71B 'make':69B 'new':99B 'oem':95B 'pcie':42B,57B 'pi':100B 'rate':88B 'request':55B 'self':44B 'self-host':43B 'send':53B 'server':46B 'servic':80B 'support':63B 'translat':61B 'updat':97B 'via':94B 'virtual':47B 'vm':66B 'wait':72B 'without':59B","search_c":"'address':122C 'allow':108C 'atc':125C 'cach':124C 'command':111C 'could':107C 'denial':129C 'devic':117C 'except':103C 'handl':104C 'improp':102C 'invalid':110C 'iommu':106C 'pcie':116C 'potenti':126C 'result':127C 'sent':114C 'servic':131C 'support':121C 'translat':123C","cause_entry":null,"cause_path":null,"disclosures_checked_at":null,"first_public_at":"2026-11-12T19:16:44+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:H/AT:P/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","cvss_by":"psirt@amd.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2024-21954","url":"https://nvd.nist.gov/vuln/detail/CVE-2024-21954","severity":null,"published_at":"2026-11-12T19:16:44+00:00","modified_at":"2026-11-12T19:24:37+00:00","first_seen_at":"2026-11-12T19:40:12+00:00","fetched_at":"2026-11-12T19:40:12+00:00","note":null},{"source":"analyst","external_id":"CVE-2024-21954:3769","url":"https://www.amd.com/en/resources/product-security/bulletin/amd-sb-3052.html","severity":null,"published_at":"2026-11-12T19:41:40+00:00","modified_at":"2026-11-12T19:41:40+00:00","first_seen_at":"2026-11-12T19:41:40+00:00","fetched_at":"2026-11-12T19:41:40+00:00","note":"Read AMD-SB-3052 (AMD's own bulletin); affected: EPYC 7003, 9004, Embedded 7003, Embedded 9004 with PI firmware fixes listed. No exploitation or PoC found; no social search done (low-noise B-tier).","cites":["https://www.amd.com/en/resources/product-security/bulletin/amd-sb-3052.html"]}],"documents":[{"id":137955,"url":"https://www.amd.com/en/resources/product-security/bulletin/amd-sb-3052.html","title":"AMD-SB-3052 IOMMU Improper Exception Handling and SMM OOB Write","kind":"advisory","source":"analyst","publisher":null,"text":null,"published_at":null,"relation":"advisory","confidence":null,"note":null}],"disclosures":[],"exploit_sources":[],"notice":"Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai"}