{"id":2431,"date":"2025-03-07T10:01:48","date_gmt":"2025-03-07T10:01:48","guid":{"rendered":"https:\/\/serisec.com\/index.php\/2025\/03\/07\/amd-microcode-signature-verification-vulnerability-let-attackers-load-malicious-patches\/"},"modified":"2025-03-07T10:01:48","modified_gmt":"2025-03-07T10:01:48","slug":"amd-microcode-signature-verification-vulnerability-let-attackers-load-malicious-patches","status":"publish","type":"post","link":"https:\/\/serisec.com\/index.php\/2025\/03\/07\/amd-microcode-signature-verification-vulnerability-let-attackers-load-malicious-patches\/","title":{"rendered":"AMD Microcode Signature Verification Vulnerability Let Attackers Load Malicious Patches"},"content":{"rendered":"<p>    AMD Microcode Signature Verification Vulnerability Let Attackers Load Malicious Patches<br \/>\n \t<BR><br \/>\n<BR><\/BR><br \/>\n    <!-- no image --><br \/>\n \t<BR><br \/>\n<BR><\/BR><\/p>\n<div>\n<p>Security researchers have uncovered a critical vulnerability in AMD Zen CPUs that allows attackers with <a href=\"https:\/\/cybersecuritynews.com\/symantec-diagnostic-tool-vulnerability\/\" target=\"_blank\" rel=\"noreferrer noopener\">elevated privileges<\/a> to load malicious microcode patches, bypassing cryptographic signature checks.<\/p>\n<p>Dubbed \u201cEntrySign,\u201d this flaw stems from AMD\u2019s use of the AES-CMAC algorithm as a hash function during microcode validation\u2014a design decision that enables collision attacks and signature forgery.<\/p>\n<h2 class=\"wp-block-heading\"><strong>Microcode Security Foundations<\/strong><\/h2>\n<p>According to Google\u2019s <a href=\"https:\/\/cybersecuritynews.com\/bug-hunter-gpt\/\" target=\"_blank\" rel=\"noreferrer noopener\">Bug Hunting<\/a> researchers, modern x86 processors like AMD\u2019s Zen architecture rely on microcode\u2014a layer of RISC-like instructions that translate complex x86 operations into executable hardware logic.\u00a0<\/p>\n<p>AMD employs encrypted microcode updates authenticated via RSA-2048 signatures to patch hardware bugs without physical recalls. The validation process involves four stages:<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXdkg8SLfXGI__6geL6WlECujzP3b8Aae0_7DPoF9Q_6CGbP-E-pNH57VEwdFe4Kcp8Pi-xl6IT-JtX8cPIDMhAq2K8AruzXLEF_9bd0W8mDJ5toc4BKoFmI_Q-EXL11P1VhqKceMw?key=tYQmJWLPkxPWVsD6T-NUXpog\" alt=\"\"><figcaption class=\"wp-element-caption\">AMD\u2019s Zen architecture\u00a0<\/figcaption><\/figure>\n<\/div>\n<ul class=\"wp-block-list\">\n<li>\n<strong>Public Key Validation: <\/strong>The CPU hashes the patch\u2019s embedded RSA public key using AES-CMAC and compares it against a fused hardware hash.<\/li>\n<li>\n<strong>Content Hashing:<\/strong> AES-CMAC generates a 128-bit digest of the patch\u2019s instruction quads and match registers.<\/li>\n<li>\n<strong>Signature Verification: <\/strong>The RSA signature is decrypted and matched against the content hash using PKCS #1 v1.5 padding.<\/li>\n<li>\n<strong>Patch Installation:<\/strong> Validated microcode loads into SRAM, overriding ROM instructions.<\/li>\n<\/ul>\n<p>This chain assumes CMAC\u2019s collision resistance\u2014an assumption shattered by EntrySign\u2019s findings.<\/p>\n<h2 class=\"wp-block-heading\"><strong>The CMAC Hash Collision Vulnerability<\/strong><\/h2>\n<p>The fatal flaw lies in AMD\u2019s dual use of AES-CMAC as both a key hashing and content authentication mechanism.\u00a0<\/p>\n<p>While CMAC provides integrity against passive attackers, it fails catastrophically when adversaries control the AES key\u2014a scenario made feasible through hardware reverse engineering or side-channel attacks.<\/p>\n<p>Researchers demonstrated that knowing the AES-CMAC key enables:<\/p>\n<ul class=\"wp-block-list\">\n<li>\n<strong>Public Key Collisions: <\/strong>Forging new RSA moduli (N\u2019 = p*q) that hash to AMD\u2019s fused CMAC value.<\/li>\n<li>\n<strong>Signature Forgery:<\/strong> Crafting malicious patches whose CMAC digest matches a legitimately signed payload.<\/li>\n<\/ul>\n<p>The attack exploits CMAC\u2019s linear structure\u2014by injecting a 16-byte \u201ccompensating block\u201d (ae4634b83805ea28d7ecac0053a6ab6c), attackers manipulate intermediate CMAC states to force collisions.\u00a0<\/p>\n<p>This allowed creating a valid RSA key pair (N = 0x151d07eae2f\u2026) that factors into small primes, enabling <a href=\"https:\/\/cybersecuritynews.com\/openvpn-connect-private-key\/\" target=\"_blank\" rel=\"noreferrer noopener\">private key<\/a> derivation:<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXc536Iz431vWRXWc2oEjJGBe0bvKH8Zw2oXyUl8JPzLs91J_mSzElgwJ-CAvePwjHe2zx21hPM6xJccRLLIDl_1T2dnDXreXruMdYzCzGTqRaObaGItZ_1g6XthxnhvtysOs7L2xw?key=tYQmJWLPkxPWVsD6T-NUXpog\" alt=\"\"><\/figure>\n<\/div>\n<h2 class=\"wp-block-heading\"><strong>Exploitation Mechanics<\/strong><\/h2>\n<p>With a colliding public key, attackers bypass AMD\u2019s fused hash check. They then exploit RSASSA-PKCS1-v1.5\u2019s lax padding verification to sign malicious microcode.\u00a0<\/p>\n<p>A proof-of-concept patch hijacked the RDRAND instruction to always return 4:<\/p>\n<ul class=\"wp-block-list\">\n<li>\n<strong>Match Register Manipulation: <\/strong>Redirecting microcode execution flow to patch SRAM.<\/li>\n<li>\n<strong>Instruction Overwrite: <\/strong>Replacing RDRAND\u2019s micro-ops with mov.qs rax, 4.<\/li>\n<li>\n<strong>Montgomery Constant Bypass: <\/strong>Forging the N\u2019 constant (-N^{-1} mod R) to satisfy AMD\u2019s Montgomery multiplier checks:<\/li>\n<\/ul>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXfybbwU_3WqnX4A1g9CgLT8XQWhJa1zotq9PUxDInywpCEJVZQ7GtyDASQtFkLnyNl3AUaFhWGJxm6tqCtKvaNCcrlCdn1GLntGhsGw59NsklprqjW-ZPAoe3mbajMHRXl9Za7t?key=tYQmJWLPkxPWVsD6T-NUXpog\" alt=\"\"><\/figure>\n<\/div>\n<h2 class=\"wp-block-heading\"><strong>Mitigations<\/strong><\/h2>\n<p>EntrySign exposes all Zen 1-4 CPUs to persistent microcode hijacking by attackers with ring-0 access. While patches reset on reboot, threats persist in:<\/p>\n<ul class=\"wp-block-list\">\n<li>Compromised hypervisors could deploy hostile microcode to guest VMs.<\/li>\n<li>Malicious OEMs might preload firmware with backdoored patches.<\/li>\n<li>AMD\u2019s SKINIT dynamic root-of-trust could be subverted during measured launches.<\/li>\n<\/ul>\n<p>AMD\u2019s mitigation replaces CMAC with a custom hash and deploys Secure Processor (ASP) checks before x86 cores activate. However, retrofitting older Zen architectures remains challenging due to ROM storage constraints.<\/p>\n<p>\u201cThis vulnerability underscores the fragility of cryptographic trust anchors in hardware,\u201d noted the research team.\u00a0<\/p>\n<p>\u201cWhen security-critical algorithms like hashing are repurposed beyond their design scope, it creates systemic risks.\u201d<\/p>\n<p>The disclosure coincides with the <a href=\"https:\/\/bughunters.google.com\/blog\/5424842357473280\/zen-and-the-art-of-microcode-hacking\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">release<\/a> of Zentool, an open-source framework for analyzing and crafting AMD microcode. Researchers hope it will promote community efforts to audit and harden low-level CPU security.<\/p>\n<p>As CPUs increasingly underpin cloud and AI infrastructures, EntrySign highlights the urgent need for agile, updateable cryptographic primitives in silicon, a lesson the industry is now racing to implement.<\/p>\n<p class=\"has-text-align-center has-background\" style=\"background:linear-gradient(180deg,rgb(238,238,238) 92%,rgb(169,184,195) 100%)\"><strong><strong><code>Collect Threat Intelligence on the Latest Malware and Phishing Attacks with ANY.RUN TI Lookup -&gt;\u00a0<a href=\"https:\/\/intelligence.any.run\/?utm_source=csn&amp;utm_medium=article&amp;utm_campaign=new-stegocampaign-attack&amp;utm_content=intelligence.any.run&amp;utm_term=040325\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Try for free<\/a><\/code><\/strong><\/strong><\/p>\n<\/p>\n<p>The post <a href=\"https:\/\/cybersecuritynews.com\/amd-microcode-signature-verification-vulnerability\/\">AMD Microcode Signature Verification Vulnerability Let Attackers Load Malicious Patches<\/a> appeared first on <a href=\"https:\/\/cybersecuritynews.com\/\">Cyber Security News<\/a>.<\/p>\n<\/div>\n<p> \t<BR><br \/>\n <BR><\/BR><br \/>\n    Kaaviya<br \/>\n \t<BR><br \/>\n<BR><\/BR><br \/>\n<a href=\"https:\/\/cybersecuritynews.com\/amd-microcode-signature-verification-vulnerability\/\">Go to cyber-security-news<\/a><br \/>\n \t<BR><br \/>\n <BR><\/BR><\/p>\n","protected":false},"excerpt":{"rendered":"<p>AMD Microcode Signature Verification Vulnerability Let Attackers Load Malicious Patches Security researchers have uncovered a critical vulnerability in AMD Zen CPUs that allows attackers with elevated privileges to load malicious microcode patches, bypassing cryptographic signature checks. Dubbed \u201cEntrySign,\u201d this flaw stems from AMD\u2019s use of the AES-CMAC algorithm as a hash function during microcode validation\u2014a [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[129,63,163,131,648],"tags":[130],"class_list":["post-2431","post","type-post","status-publish","format-standard","hentry","category-cyber-security","category-cyber-security-news","category-google","category-vulnerability","category-vulnerability-news","tag-cyber-security-news"],"_links":{"self":[{"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/posts\/2431"}],"collection":[{"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/comments?post=2431"}],"version-history":[{"count":0,"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/posts\/2431\/revisions"}],"wp:attachment":[{"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/media?parent=2431"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/categories?post=2431"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/tags?post=2431"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}