Header bannerHeader banner
September 16, 2024

PKfail Two Months Later: Reflecting on the Impact

Fabio Pagani

The Aftershocks of PKfail: New Data Points to Larger Ecosystem Vulnerabilities

At the LABScon 2024 security conference this week, our REsearch team will present significant new findings on the PKfail story.  In this blog, we dive deeper into newly discovered data points gathered from our free detection service pk.fail and major vendor acknowledgements and developments since the initial disclosure in July. 

Initially, PKfail was only documented via a BRLY-2024-005 advisory, and no CVE was assigned. However, after the industry wake-up call, with initial Binarly disclosure and a public demonstration of the impact, the situation dramatically changed.

As previously disclosed, PKfail is a critical firmware supply-chain vulnerability affecting UEFI Secure Boot. This flaw is related to the "master key" used in the Secure Boot process, known as the Platform Key (PK), which serves as the Root of Trust. The security of this key is crucial, as the entire Secure Boot verification mechanism depends on it.

During the disclosure process, we worked closely with CERT/CC to coordinate with multiple impacted vendors across the entire tech industry. At the end of August 2024, PKfail was assigned CVE-2024-8105 and VU#455367. Multiple vendors acknowledged our findings by publishing, including:

We were also positively surprised to see that other vendors, such as Protectli, were able to quickly identify and promptly mitigate PKfail, even though they weren’t mentioned in our original advisory because their firmware wasn’t part of our dataset. 

From the community response, we instead learned that many other vendors using AMI’s UEFI code are affected by PKfail. For example, the following vendors and respective devices are affected by PKfail, as reported on public forums:

The PK.fail detection service

Alongside the public disclosure of PKfail, we released a free pk.fail detection service to allow users to upload firmware binaries for scans to detect any non-production Platform Keys (PK). The free utility was broadly adopted and helped enterprise security teams to test device assets for potential PKfail exposure.

Based on our data, we found PKfail and non-production keys on medical devices, desktops, laptops, gaming consoles, enterprise servers, ATMs, POS terminals, and some weird places like voting machines.

Let’s look deeper into the numbers related to our free detection tool pk.fail.

At the time of writing this blogpost, more than 10,095 unique firmware images have been uploaded on our service, 791 of which contained an untrusted Platform Key, and 9,304 were deemed safe. This results in a 8.5% vulnerable rate, which once again aligns with the findings from our initial research report.

The step plot below shows the number of submissions (log scale), grouped by day: 

As we can see, a large number of submissions occurred immediately following the disclosure, but we continue to observe an average of 25 submissions per day over the last month. We also opened an API interface for the pk.fail service to facilitate more submissions and scale the detections.

Let’s examine the unique, untrusted Platform Keys (PK) we discovered while preparing this research study.

Certificate Serial Number Certificate Subject Certificate Issuer Not Before
Not After
Count Vendor Already Seen
55:fb:ef:87:81:23:00:84:47:17:0b:b3:cd:87:3a:f4 CN=DO NOT TRUST - AMI Test PK CN=DO NOT TRUST - AMI Test PK Nov 8 23:32:53 2017
Nov 8 23:32:52 2021
230 AMI Yes
-15:fe:0d:04:9b:3b:74:70:bc:6f:1a:d2:96:ed:c4:7b CN=DO NOT TRUST - AMI Test PK CN=DO NOT TRUST - AMI Test PK Mar 6 15:16:55 2013
Mar 6 15:16:54 2017
203 AMI Yes
08:c2:d1:c3:6c:9b:51:4f:b3:7c:6a:02:08:12:cd:59 CN=DO NOT TRUST - AMI Test PK CN=DO NOT TRUST - AMI Test PK Sep 8 14:35:29 2021
Sep 8 14:35:28 2025
158 AMI Yes
64:5e:cd:de:8e:ae:66:8a:48:30:1e:fd:b8:87:92:ff CN=DO NOT TRUST - PK CN=DO NOT TRUST - PK May 16 23:02:02 2011
Nov 16 23:02:01 2012
61 Insyde Yes
45:d3:fd:00:33:52:5d:45:b5:36:de:47:4e:15:cc:56 CN=DO NOT TRUST - AMI Test PK CN=DO NOT TRUST - AMI Test PK Feb 14 04:25:43 2012
Feb 14 04:25:42 2013
42 AMI Yes
1a:a9:c7:61:c8:6a:be:88:4d:85:f5:ad:2b:95:3b:f1 CN=DO NOT TRUST - AMI Test PK CN=DO NOT TRUST - AMI Test PK Aug 23 21:52:21 2011
Aug 23 21:52:20 2012
29 AMI Yes
1b:ed:93:e2:59:4e:2b:60:be:6b:1f:01:c9:af:a6:37 CN=DO NOT TRUST - AMI Test PK CN=DO NOT TRUST - AMI Test PK Apr 30 22:50:15 2013
Apr 30 22:50:14 2017
22 AMI Yes
53:ea:33:87:af:a2:01:71:be:ff:55:16:96:91:0c:a4 CN=DO NOT TRUST - Test PK CN=DO NOT TRUST - Test PK Jan 15 06:38:04 2014
Jan 15 06:38:03 2024
20 AMI No
a1:be:c6:0d:e9:8b:01:85 C=TW,ST=Taiwan,L=Taipei,O=Phoenix Technologies Ltd.,OU=Core,CN=Phoenix PK Example C=TW,ST=Taiwan,L=Taipei,O=Phoenix Technologies Ltd.,OU=Core,CN=Phoenix PK Example May 3 14:17:21 2012
May 1 14:17:21 2022
4 Phoenix Yes
59:eb:94:6e:59:b0:f7:84:4a:0c:62:a9:4c:55:f5:1b CN=DO NOT TRUST - Test PK CN=DO NOT TRUST - Test PK Jun 2 18:42:19 2012
Jun 2 18:42:18 2022
3 AMI No
33:c9:da:4a:88:90:52:a5:4d:da:26:fe:c3:c7:bc:be CN=DO NOT TRUST - OEM1 Test Certificate CN=DO NOT TRUST - OEM1 Test Certificate Oct 6 01:55:23 2016
Apr 6 01:55:22 2017
2 AMI Yes
3e:e5:01:34:bd:a5:df:51:bf:6e:a5:6f:2a:78:08:8f CN=Root Agency CN=DO NOT SHIP - PK Feb 7 02:50:01 2015
Feb 7 02:50:00 2020
1 AMI Yes
45:70:aa:30:e1:40:44:9d:46:ee:8d:c6:9b:b1:f3:3d CN=DO NOT SHIP - OEM Test Certificate CN=DO NOT SHIP - OEM Test Certificate May 27 02:32:23 2020
Dec 31 23:59:59 2039
1 AMI No
4a:25:37:f8:df:ee:41:62:b1:3a:73:49:55:92:4b:54 C=USA,ST=CA,L=San Jose,O=Super Micro Computer Inc.,CN=SUPERMICRO Firmware Testing Key - DO NOT TRUST C=USA,ST=CA,L=San Jose,O=Super Micro Computer Inc.,CN=SUPERMICRO Firmware Testing Key - DO NOT TRUST May 21 18:43:28 2018
May 21 18:43:27 2048
1 Supermicro No

The previous table summarizes the non-production keys detected by PK.fail, sorted by total occurrences.  From this data we can draw several insights. First, these keys closely align with what we reported in our original report. Second, the most frequently used key (i.e. the one with serial beginning with “55:fb:ef”) is the one that was accidentally leaked on GitHub, putting these devices at immediate risk. Third, as shown in the Already Seen column, the analyzed firmware contained four untrusted keys that we have never encountered before: three of them belong to AMI, while one was generated by Supermicro.  

But even more importantly, our original research report might have underestimated the impact of PKfail on other IBVs. In particular, 61 firmware images contained an untrusted key that we traced back to Insyde. This Insyde key was generated in 2011, based on the certificate’s “Not Before” field. Although this key is not new to us, as we previously found during the PKfail research, it only appeared in firmware developed for older devices marketed in the early 2010s. However, the firmware collected on pk.fail tells a different story: this key is also being used in devices currently on the market. We are highly confident on this finding for some of the 61 images containing this key because:

  1. The db variable contains a vendor-specific certificate that was generated in 2024, as indicated by the “Issuer” and “Not Before” fields        
  2. Both the KEK and db contain the new Microsoft Windows Secure Boot keys (e.g. “Microsoft Corporation KEK 2K CA 2023” and “Microsoft UEFI CA 2023”), signaling the vendor’s intent to make these devices future-proof and ready for the rollout of the new Microsoft UEFI keys.

Conclusions

The complexity of the supply chain is overgrowing our ability to effectively manage the risks associated with third-party suppliers. PKfail is a great example of a supply chain security failure impacting the entire industry. However, these risks could be mitigated and totally avoidable if we focus more on delivering a secure-by-design philosophy.

This blog post shows the reaction of the device vendors to the public disclosure of PKfail vulnerability and goes far beyond the firmware ecosystem. The newly discovered data exposed the involvement of other IBVs like Phoenix and Insyde. However, the numbers of non-production cryptographic materials in the wild are dramatically lower than those of AMI. 

This research study shows that the industry-wide impact of the PKfail is significantly bigger than we initially saw based on our limited telemetry data. That’s the major reason for the active reaction from the device vendors and CERT/CC coordination regarding this incident. Software supply chain failures could be prevented only with more transparency on measurable artifacts from the software providers to help build a resilient ecosystem.

What's lurking in your firmware?