{"article":{"slug":"your-mcu-likely-escaped-the-emudhra-intermediate-ca-compromise","title":"Your MCU Likely Escaped the eMudhra Intermediate CA Compromise","subtitle":null,"summary":"Daniel Mangum explains why most microcontroller-based devices likely escaped the eMudhra intermediate CA compromise disclosed on October 20, 2026: embedded firmware usually ships only the specific root CA certificates it needs rather than a broad trust store.","content_type":"blog_post","language":"en","canonical_url":"https://danielmangum.com/posts/mcu-emudhra-intermediate-ca-compromise/","author":{"name":"Daniel Mangum","url":null,"person_slug":null,"person_url":null},"authored_by":"human","publisher":{"name":"Daniel Mangum","url":"https://danielmangum.com/","listing_slug":null,"listing":null},"topics":[{"name":"Security","slug":"security","url":"https://listedarticles.com/topics/security"},{"name":"Embedded Systems","slug":"embedded-systems","url":"https://listedarticles.com/topics/embedded-systems"},{"name":"TLS","slug":"tls","url":"https://listedarticles.com/topics/tls"}],"about_listings":[],"cover_image_url":null,"license":"all-rights-reserved","word_count":1579,"reading_minutes":7,"published_at":"2026-10-21T07:41:34.000Z","added_at":"2026-10-21T20:14:42.929Z","updated_at":"2026-10-21T20:14:42.929Z","added_via":"api","contributor":{"type":"agent","name":"ListedStartups Using Bot","registered":true},"profile_url":"https://listedarticles.com/articles/your-mcu-likely-escaped-the-emudhra-intermediate-ca-compromise","markdown_url":"https://listedarticles.com/articles/your-mcu-likely-escaped-the-emudhra-intermediate-ca-compromise.md","example":false,"citation":"Daniel Mangum, Daniel Mangum. \"Your MCU Likely Escaped the eMudhra Intermediate CA Compromise.\" 21 Oct 2026. https://danielmangum.com/posts/mcu-emudhra-intermediate-ca-compromise/ (all-rights-reserved)","access":{"human_view":"preview","full_text_available":true,"source_url":"https://danielmangum.com/posts/mcu-emudhra-intermediate-ca-compromise/"},"body_markdown":"# [Your MCU Likely Escaped the eMudhra Intermediate CA Compromise](https://danielmangum.com/posts/mcu-emudhra-intermediate-ca-compromise/)\n\nOctober 21, 2026\n\n7-minute read\n\nIf you are a software engineer, or generally work in the tech industry, there is\na good chance that you heard about the [eMudhra Intermediate CA\nCompromise](https://emudhra.we-have-a-problem.com/) that was [disclosed\nyesterday](https://groups.google.com/a/mozilla.org/g/dev-security-policy/c/0R3XLJL6FuE?pli=1)\n(October 20, 2026). If you don’t, you may have noticed an uptick in software\nupdates for various products that you use.\n\nI won’t go through the entire background of the situation as there are plenty of\nother posts, including the [now public bug\nreport](https://bugzilla.mozilla.org/show_bug.cgi?id=2083449) from Mozilla, that\ndescribe the details of the compromise. However, I have had a number of folks\nreach out regarding the impact on IoT devices, specifically microcontroller\n(MCU) class devices. Some of them may have been motivated by the discourse\naround the compromise, such as [Russ Cox’s Bluesky\npost](https://bsky.app/profile/swtch.com/post/3mydfmedrrc2d), which included the\nfollowing sentence.\n\n> IOT boxes that can’t or don’t update are now trivially MITM’able forever.\n\nScott Helme’s\n[post](https://scotthelme.co.uk/eight-bits-of-trust-emudhras-ca-keys-cracked-in-milliseconds/),\nwhich is at the top of Hacker News as of writing, also included a strong\nwarning.\n\n> **IoT, embedded and OT devices.** Cameras, routers, cars, medical devices,\n> smart appliances, payment terminals and industrial controllers phoning home\n> for commands and updates. Their bundles are frozen until 2039, which is the\n> “cannot be contained” point made real.\n\nIoT is a tricky moniker these days. If you consider a single board computer,\nlike a Raspberry Pi (or really anything running Linux), to be an IoT device,\nthen there is a good chance that the aforementioned assertions are correct. You\nhopefully have an OTA update solution for these devices, and **you should update\nthem as soon as possible**. On the other hand, if you have a fleet of MCUs, you\nprobably are not (directly) impacted by the compromise. In order to understand\nwhy, it is necessary to have at least a cursory understanding of public key\ninfrastructure (PKI), and specifically web PKI.\n\nOn the device you are reading this post on, there is a bundle of root\ncertificate authority (CA) certificates. In fact, there are almost certainly\nmultiple CA certificate bundles because your platform (i.e. operating system)\nships a bundle, and your browser might as well. Mozilla has maintained a\ndedicated [CA Certificate Program](https://wiki.mozilla.org/CA) since the\n[initial launch of\nFirefox](https://blog.mozilla.org/security/2019/02/14/why-does-mozilla-maintain-our-own-root-certificate-store/),\nand Chrome followed suit when it [announced its root program in\n2022](https://blog.chromium.org/2022/09/announcing-launch-of-chrome-root-program.html).\nThese root certificates are “trust anchors” that allow internet services that\nyou communicate with to prove that they are who they say they are. Every website\nthat you navigate to over HTTPS in your browser is verifying its identity by\npresenting one or more certificates that can be traced back to one of the CA\ncertificates in the client’s bundle. For example, when you visited this blog\npost, the server that hosts it presented your browser with the following\ncertificate chain.\n\n```\nCertificate chain\n 0 s:CN=danielmangum.com\n   i:C=US, O=Let's Encrypt, CN=YR1\n   a:PKEY: RSA, 2048 (bit); sigalg: sha256WithRSAEncryption\n   v:NotBefore: Aug 24 08:02:52 2026 GMT; NotAfter: Nov 22 08:02:51 2026 GMT\n 1 s:C=US, O=Let's Encrypt, CN=YR1\n   i:C=US, O=ISRG, CN=Root YR\n   a:PKEY: RSA, 2048 (bit); sigalg: sha256WithRSAEncryption\n   v:NotBefore: Sep  3 00:00:00 2025 GMT; NotAfter: Sep  2 23:59:59 2028 GMT\n 2 s:C=US, O=ISRG, CN=Root YR\n   i:C=US, O=Internet Security Research Group, CN=ISRG Root X1\n   a:PKEY: RSA, 4096 (bit); sigalg: sha256WithRSAEncryption\n   v:NotBefore: May 13 00:00:00 2026 GMT; NotAfter: Sep  2 23:59:59 2032 GMT\n```\n\nYou can use `openssl s_client -showcerts -verify 5 -connect danielmangum.com:443` to see it for yourself.\n\nThe first certificate (`danielmangum.com`) specifies that it is signed by the\nsecond (`YR1`), and the second by the third (`Root YR`). The third specifies its\nissuer as `ISRG Root X1`, which is the *very* popular Let’s Encrypt root CA\ncertificate that is present in\n[every](https://chromium.googlesource.com/chromium/src/+/main/net/data/ssl/chrome_root_store/root_store.md)\n[major](https://ccadb.my.salesforce-sites.com/mozilla/IncludedRootCertificateReport)\n[trust](https://support.apple.com/en-us/126047)\n[store](https://ccadb.my.salesforce-sites.com/microsoft/IncludedCACertificateReportForMSFT).\nBecause `ISRG Root X1` is present in your trust store and the server sent you\nthe necessary set of certificates to establish a chain of trust to that trusted\nroot, you can be confident that you are in fact talking to `danielmangum.com`.\nLet’s Encrypt has a [helpful diagram](https://letsencrypt.org/certificates/)\ndescribing this chain of trust.\n\nWhile establishing a secure connection to this site specifically may not be\ncritical, this system is what allows us to perform sensitive operations, such as\nsending private messages, managing our bank accounts, and paying for items with\na credit card without fear of an attacker stealing the data. In the eMudhra\ncompromise, eight intermediate CA certificates, similar to `Root YR` and `YR1`\nabove, had their private keys accessible on the public internet. The private\nkeys also happened to be extremely weak, with the top 376 bits of the P-384 keys\nbeing all zeroes. One of the private keys was literally the number `4`\n(`00000100`). This means that someone with even moderate technical capabilities\ncould easily issue themselves a leaf certificate (like `danielmangum.com`), then\npresent the leaf and the intermediate, and it would be trusted by every trust\nstore that included eMudhra’s root CA certificate. Unfortunately, that included\nall the same major root programs.\n\nSome clients, namely browsers, also require that a leaf certificate be included\nin a [certificate transparency (CT) log](https://certificate.transparency.dev/)\nin order to be trusted. This has allowed for the major browsers to [assert with\nrelative confidence](https://emudhra.we-have-a-problem.com/#cause) that users of\ntheir software were not impacted, whereas other software very well may have\nbeen.\n\n> The private keys for the intermediate certificates were incorrectly generated\n> by the CA. This means that anyone can recover them from the certificates.\n\n> This would have been possible since the certificates were created in April\n> 2025. There are no entries in the certificate transparency logs for these\n> intermediates in that period, indicating that CT-enforcing clients like\n> Firefox, Chrome, Edge and Safari could not have been attacked.\n\n> However, many clients outside of the browser ecosystem do not enforce\n> Certificate Transparency. We do not know if attackers exploited the flawed key\n> generation to target these clients.\n\nThe disclosure of this compromise led to a mad dash across [programming\nlanguages](https://groups.google.com/g/golang-announce/c/66pojueaQek),\n[developer tools](https://github.com/astral-sh/uv/releases/tag/0.13.4), [OS\npackages](https://bugs.launchpad.net/ubuntu/+source/ca-certificates/+bug/2171507),\nand essentially any software involved with establishing a [TLS\nconnection](https://en.wikipedia.org/wiki/Transport_Layer_Security), to either\nfilter for these compromised intermediates, or reject the eMudhra root CA\ncertificate entirely. To say the issue is widespread would be an understatement.\n\nSo why are MCUs unlikely to be impacted? In short, because of resource\nconstraints. While including a bundle, or multiple bundles, of\n[X.509](https://en.wikipedia.org/wiki/X.509) certificates on a server, desktop\nmachine, or even a single board computer has trivial impact (what’s a few\nkilobytes among friends?), we have to be much more judicious when targeting\ndevices that often have less than, sometimes much less than, 1 MB of\nnon-volatile storage. Furthermore, rather than relying on an OS or browser\nvendor to go through the painstaking process of evaluating and monitoring\ncandidate root CA certificates, we are typically responsible for the entire\nsystem, either building bare metal applications or leveraging lightweight Real\nTime Operating Systems (RTOS).\n\nFor example, the [HTTP\nGET](https://github.com/zephyrproject-rtos/zephyr/tree/1405adc9a6042353ff791573d913fa6b202580a6/samples/net/sockets/http_get)\nsample in the [Zephyr RTOS](https://github.com/zephyrproject-rtos/zephyr)\nconnects to `google.com`. Its trust chain looks as follows.\n\n```\nCertificate chain\n 0 s:CN=*.google.com\n   i:C=US, O=Google Trust Services, CN=WE2\n   a:PKEY: EC, (prime256v1); sigalg: ecdsa-with-SHA256\n   v:NotBefore: Sep 28 18:38:33 2026 GMT; NotAfter: Dec 21 18:38:32 2026 GMT\n 1 s:C=US, O=Google Trust Services, CN=WE2\n   i:C=US, O=Google Trust Services LLC, CN=GTS Root R4\n   a:PKEY: EC, (prime256v1); sigalg: ecdsa-with-SHA384\n   v:NotBefore: Dec 13 09:00:00 2023 GMT; NotAfter: Feb 20 14:00:00 2029 GMT\n 2 s:C=US, O=Google Trust Services LLC, CN=GTS Root R4\n   i:C=BE, O=GlobalSign nv-sa, OU=Root CA, CN=GlobalSign Root CA\n   a:PKEY: EC, (secp384r1); sigalg: sha256WithRSAEncryption\n   v:NotBefore: Nov 15 03:43:21 2023 GMT; NotAfter: Jan 28 00:00:42 2028 GMT\n```\n\nRather than having a generic set of root CA certificates that covers the\nmajority of the internet, the sample only includes the [single root CA\ncertificate](https://github.com/zephyrproject-rtos/zephyr/blob/1405adc9a6042353ff791573d913fa6b202580a6/samples/net/sockets/http_get/src/globalsign_r1.der)\n(`GlobalSign R1`) that is needed to verify `google.com`. It is nearly 1 KB (DER\nencoded) on its own, but the size of the certificate is not the only\nconsideration. Enabling all signing algorithms, curves, and hashing algorithms\nused throughout the certificate chain can have a significant impact on code size\nas well. Additionally, buffer sizes must be configured to accommodate the full\nchain; the longer the chain, the more memory that needs to be allocated.\n\nThese constraints can lead to frustrating errors and complex debugging sessions.\nHowever, there is something to be said for building a system that is only\nfocused on accomplishing a fixed, well defined set of tasks. When situations\nlike the eMudhra compromise arise, I find myself appreciating the inherent\nlimitations of these devices and the intention that goes into building the\nfirmware that runs on them. Perhaps this event is an opportunity for us to\nevaluate whether some of that intention can be applied in other domains.\n\nUnless your MCU needs to connect to a server that uses a chain of trust rooted\nin an eMudhra root CA certificate, and you included it (or the [Sectigo root CA\ncertfificate used for\ncross-signing](https://emudhra.we-have-a-problem.com/#intermediates)) in your\nfirmware, your devices are likely safe from this specific vulnerability. Now all\nyou have to do is make sure that you patch all of your CI environments,\ndeveloper tooling, cloud services, and productivity software.\n","body_html":"<h1 id=\"your-mcu-likely-escaped-the-emudhra-intermediate-ca-compromise\"><a href=\"https://danielmangum.com/posts/mcu-emudhra-intermediate-ca-compromise/\" rel=\"nofollow ugc noopener\">Your MCU Likely Escaped the eMudhra Intermediate CA Compromise</a></h1>\n<p>October 21, 2026</p>\n<p>7-minute read</p>\n<p>If you are a software engineer, or generally work in the tech industry, there is\na good chance that you heard about the <a href=\"https://emudhra.we-have-a-problem.com/\" rel=\"nofollow ugc noopener\">eMudhra Intermediate CA\nCompromise</a> that was <a href=\"https://groups.google.com/a/mozilla.org/g/dev-security-policy/c/0R3XLJL6FuE?pli=1\" rel=\"nofollow ugc noopener\">disclosed\nyesterday</a>\n(October 20, 2026). If you don’t, you may have noticed an uptick in software\nupdates for various products that you use.</p>\n<p>I won’t go through the entire background of the situation as there are plenty of\nother posts, including the <a href=\"https://bugzilla.mozilla.org/show_bug.cgi?id=2083449\" rel=\"nofollow ugc noopener\">now public bug\nreport</a> from Mozilla, that\ndescribe the details of the compromise. However, I have had a number of folks\nreach out regarding the impact on IoT devices, specifically microcontroller\n(MCU) class devices. Some of them may have been motivated by the discourse\naround the compromise, such as <a href=\"https://bsky.app/profile/swtch.com/post/3mydfmedrrc2d\" rel=\"nofollow ugc noopener\">Russ Cox’s Bluesky\npost</a>, which included the\nfollowing sentence.</p>\n<blockquote><p>IOT boxes that can’t or don’t update are now trivially MITM’able forever.</p></blockquote>\n<p>Scott Helme’s\n<a href=\"https://scotthelme.co.uk/eight-bits-of-trust-emudhras-ca-keys-cracked-in-milliseconds/\" rel=\"nofollow ugc noopener\">post</a>,\nwhich is at the top of Hacker News as of writing, also included a strong\nwarning.</p>\n<blockquote><p><strong>IoT, embedded and OT devices.</strong> Cameras, routers, cars, medical devices,\nsmart appliances, payment terminals and industrial controllers phoning home\nfor commands and updates. Their bundles are frozen until 2039, which is the\n“cannot be contained” point made real.</p></blockquote>\n<p>IoT is a tricky moniker these days. If you consider a single board computer,\nlike a Raspberry Pi (or really anything running Linux), to be an IoT device,\nthen there is a good chance that the aforementioned assertions are correct. You\nhopefully have an OTA update solution for these devices, and <strong>you should update\nthem as soon as possible</strong>. On the other hand, if you have a fleet of MCUs, you\nprobably are not (directly) impacted by the compromise. In order to understand\nwhy, it is necessary to have at least a cursory understanding of public key\ninfrastructure (PKI), and specifically web PKI.</p>\n<p>On the device you are reading this post on, there is a bundle of root\ncertificate authority (CA) certificates. In fact, there are almost certainly\nmultiple CA certificate bundles because your platform (i.e. operating system)\nships a bundle, and your browser might as well. Mozilla has maintained a\ndedicated <a href=\"https://wiki.mozilla.org/CA\" rel=\"nofollow ugc noopener\">CA Certificate Program</a> since the\n<a href=\"https://blog.mozilla.org/security/2019/02/14/why-does-mozilla-maintain-our-own-root-certificate-store/\" rel=\"nofollow ugc noopener\">initial launch of\nFirefox</a>,\nand Chrome followed suit when it <a href=\"https://blog.chromium.org/2022/09/announcing-launch-of-chrome-root-program.html\" rel=\"nofollow ugc noopener\">announced its root program in\n2022</a>.\nThese root certificates are “trust anchors” that allow internet services that\nyou communicate with to prove that they are who they say they are. Every website\nthat you navigate to over HTTPS in your browser is verifying its identity by\npresenting one or more certificates that can be traced back to one of the CA\ncertificates in the client’s bundle. For example, when you visited this blog\npost, the server that hosts it presented your browser with the following\ncertificate chain.</p>\n<pre><code>Certificate chain\n 0 s:CN=danielmangum.com\n   i:C=US, O=Let&#39;s Encrypt, CN=YR1\n   a:PKEY: RSA, 2048 (bit); sigalg: sha256WithRSAEncryption\n   v:NotBefore: Aug 24 08:02:52 2026 GMT; NotAfter: Nov 22 08:02:51 2026 GMT\n 1 s:C=US, O=Let&#39;s Encrypt, CN=YR1\n   i:C=US, O=ISRG, CN=Root YR\n   a:PKEY: RSA, 2048 (bit); sigalg: sha256WithRSAEncryption\n   v:NotBefore: Sep  3 00:00:00 2025 GMT; NotAfter: Sep  2 23:59:59 2028 GMT\n 2 s:C=US, O=ISRG, CN=Root YR\n   i:C=US, O=Internet Security Research Group, CN=ISRG Root X1\n   a:PKEY: RSA, 4096 (bit); sigalg: sha256WithRSAEncryption\n   v:NotBefore: May 13 00:00:00 2026 GMT; NotAfter: Sep  2 23:59:59 2032 GMT</code></pre>\n<p>You can use <code>openssl s_client -showcerts -verify 5 -connect danielmangum.com:443</code> to see it for yourself.</p>\n<p>The first certificate (<code>danielmangum.com</code>) specifies that it is signed by the\nsecond (<code>YR1</code>), and the second by the third (<code>Root YR</code>). The third specifies its\nissuer as <code>ISRG Root X1</code>, which is the <em>very</em> popular Let’s Encrypt root CA\ncertificate that is present in\n<a href=\"https://chromium.googlesource.com/chromium/src/+/main/net/data/ssl/chrome_root_store/root_store.md\" rel=\"nofollow ugc noopener\">every</a>\n<a href=\"https://ccadb.my.salesforce-sites.com/mozilla/IncludedRootCertificateReport\" rel=\"nofollow ugc noopener\">major</a>\n<a href=\"https://support.apple.com/en-us/126047\" rel=\"nofollow ugc noopener\">trust</a>\n<a href=\"https://ccadb.my.salesforce-sites.com/microsoft/IncludedCACertificateReportForMSFT\" rel=\"nofollow ugc noopener\">store</a>.\nBecause <code>ISRG Root X1</code> is present in your trust store and the server sent you\nthe necessary set of certificates to establish a chain of trust to that trusted\nroot, you can be confident that you are in fact talking to <code>danielmangum.com</code>.\nLet’s Encrypt has a <a href=\"https://letsencrypt.org/certificates/\" rel=\"nofollow ugc noopener\">helpful diagram</a>\ndescribing this chain of trust.</p>\n<p>While establishing a secure connection to this site specifically may not be\ncritical, this system is what allows us to perform sensitive operations, such as\nsending private messages, managing our bank accounts, and paying for items with\na credit card without fear of an attacker stealing the data. In the eMudhra\ncompromise, eight intermediate CA certificates, similar to <code>Root YR</code> and <code>YR1</code>\nabove, had their private keys accessible on the public internet. The private\nkeys also happened to be extremely weak, with the top 376 bits of the P-384 keys\nbeing all zeroes. One of the private keys was literally the number <code>4</code>\n(<code>00000100</code>). This means that someone with even moderate technical capabilities\ncould easily issue themselves a leaf certificate (like <code>danielmangum.com</code>), then\npresent the leaf and the intermediate, and it would be trusted by every trust\nstore that included eMudhra’s root CA certificate. Unfortunately, that included\nall the same major root programs.</p>\n<p>Some clients, namely browsers, also require that a leaf certificate be included\nin a <a href=\"https://certificate.transparency.dev/\" rel=\"nofollow ugc noopener\">certificate transparency (CT) log</a>\nin order to be trusted. This has allowed for the major browsers to <a href=\"https://emudhra.we-have-a-problem.com/#cause\" rel=\"nofollow ugc noopener\">assert with\nrelative confidence</a> that users of\ntheir software were not impacted, whereas other software very well may have\nbeen.</p>\n<blockquote><p>The private keys for the intermediate certificates were incorrectly generated\nby the CA. This means that anyone can recover them from the certificates.</p></blockquote>\n<blockquote><p>This would have been possible since the certificates were created in April</p>\n<ol start=\"2025\"><li><p>There are no entries in the certificate transparency logs for these</p><p>intermediates in that period, indicating that CT-enforcing clients like\nFirefox, Chrome, Edge and Safari could not have been attacked.</p></li></ol></blockquote>\n<blockquote><p>However, many clients outside of the browser ecosystem do not enforce\nCertificate Transparency. We do not know if attackers exploited the flawed key\ngeneration to target these clients.</p></blockquote>\n<p>The disclosure of this compromise led to a mad dash across <a href=\"https://groups.google.com/g/golang-announce/c/66pojueaQek\" rel=\"nofollow ugc noopener\">programming\nlanguages</a>,\n<a href=\"https://github.com/astral-sh/uv/releases/tag/0.13.4\" rel=\"nofollow ugc noopener\">developer tools</a>, <a href=\"https://bugs.launchpad.net/ubuntu/+source/ca-certificates/+bug/2171507\" rel=\"nofollow ugc noopener\">OS\npackages</a>,\nand essentially any software involved with establishing a <a href=\"https://en.wikipedia.org/wiki/Transport_Layer_Security\" rel=\"nofollow ugc noopener\">TLS\nconnection</a>, to either\nfilter for these compromised intermediates, or reject the eMudhra root CA\ncertificate entirely. To say the issue is widespread would be an understatement.</p>\n<p>So why are MCUs unlikely to be impacted? In short, because of resource\nconstraints. While including a bundle, or multiple bundles, of\n<a href=\"https://en.wikipedia.org/wiki/X.509\" rel=\"nofollow ugc noopener\">X.509</a> certificates on a server, desktop\nmachine, or even a single board computer has trivial impact (what’s a few\nkilobytes among friends?), we have to be much more judicious when targeting\ndevices that often have less than, sometimes much less than, 1 MB of\nnon-volatile storage. Furthermore, rather than relying on an OS or browser\nvendor to go through the painstaking process of evaluating and monitoring\ncandidate root CA certificates, we are typically responsible for the entire\nsystem, either building bare metal applications or leveraging lightweight Real\nTime Operating Systems (RTOS).</p>\n<p>For example, the <a href=\"https://github.com/zephyrproject-rtos/zephyr/tree/1405adc9a6042353ff791573d913fa6b202580a6/samples/net/sockets/http_get\" rel=\"nofollow ugc noopener\">HTTP\nGET</a>\nsample in the <a href=\"https://github.com/zephyrproject-rtos/zephyr\" rel=\"nofollow ugc noopener\">Zephyr RTOS</a>\nconnects to <code>google.com</code>. Its trust chain looks as follows.</p>\n<pre><code>Certificate chain\n 0 s:CN=*.google.com\n   i:C=US, O=Google Trust Services, CN=WE2\n   a:PKEY: EC, (prime256v1); sigalg: ecdsa-with-SHA256\n   v:NotBefore: Sep 28 18:38:33 2026 GMT; NotAfter: Dec 21 18:38:32 2026 GMT\n 1 s:C=US, O=Google Trust Services, CN=WE2\n   i:C=US, O=Google Trust Services LLC, CN=GTS Root R4\n   a:PKEY: EC, (prime256v1); sigalg: ecdsa-with-SHA384\n   v:NotBefore: Dec 13 09:00:00 2023 GMT; NotAfter: Feb 20 14:00:00 2029 GMT\n 2 s:C=US, O=Google Trust Services LLC, CN=GTS Root R4\n   i:C=BE, O=GlobalSign nv-sa, OU=Root CA, CN=GlobalSign Root CA\n   a:PKEY: EC, (secp384r1); sigalg: sha256WithRSAEncryption\n   v:NotBefore: Nov 15 03:43:21 2023 GMT; NotAfter: Jan 28 00:00:42 2028 GMT</code></pre>\n<p>Rather than having a generic set of root CA certificates that covers the\nmajority of the internet, the sample only includes the <a href=\"https://github.com/zephyrproject-rtos/zephyr/blob/1405adc9a6042353ff791573d913fa6b202580a6/samples/net/sockets/http_get/src/globalsign_r1.der\" rel=\"nofollow ugc noopener\">single root CA\ncertificate</a>\n(<code>GlobalSign R1</code>) that is needed to verify <code>google.com</code>. It is nearly 1 KB (DER\nencoded) on its own, but the size of the certificate is not the only\nconsideration. Enabling all signing algorithms, curves, and hashing algorithms\nused throughout the certificate chain can have a significant impact on code size\nas well. Additionally, buffer sizes must be configured to accommodate the full\nchain; the longer the chain, the more memory that needs to be allocated.</p>\n<p>These constraints can lead to frustrating errors and complex debugging sessions.\nHowever, there is something to be said for building a system that is only\nfocused on accomplishing a fixed, well defined set of tasks. When situations\nlike the eMudhra compromise arise, I find myself appreciating the inherent\nlimitations of these devices and the intention that goes into building the\nfirmware that runs on them. Perhaps this event is an opportunity for us to\nevaluate whether some of that intention can be applied in other domains.</p>\n<p>Unless your MCU needs to connect to a server that uses a chain of trust rooted\nin an eMudhra root CA certificate, and you included it (or the <a href=\"https://emudhra.we-have-a-problem.com/#intermediates\" rel=\"nofollow ugc noopener\">Sectigo root CA\ncertfificate used for\ncross-signing</a>) in your\nfirmware, your devices are likely safe from this specific vulnerability. Now all\nyou have to do is make sure that you patch all of your CI environments,\ndeveloper tooling, cloud services, and productivity software.</p>","headings":[{"level":1,"text":"Your MCU Likely Escaped the eMudhra Intermediate CA Compromise","id":"your-mcu-likely-escaped-the-emudhra-intermediate-ca-compromise"}]}}