Blog Post

Windows IT Pro Blog
7 MIN READ

Revoking vulnerable Windows boot managers

SochiOgbuanya's avatar
SochiOgbuanya
Icon for Microsoft rankMicrosoft
Apr 24, 2024

Editor's note 6.27.2024 – Microsoft's timeline for enforcement of the changes outlined in this post is currently under evaluation. We will provide an update once timing has been confirmed.

If you're worried about the BlackLotus UEFI bootkit vulnerability (CVE-2023-24932) and how it might affect your device's security, you'll be pleased to learn about the measures Microsoft is taking to help keep you safe.

Back in February, we shared steps you can take to prepare to update the Secure Boot trust anchors for Windows, as the existing ones are approaching expiry. With the update to the Secure Boot trust anchor, we can address the threat of all previous, potentially vulnerable Windows boot components by revoking the old trust anchor. To this effect, the April 9 security updates include a new Secure Boot revocation update. We refer to this update as the "DBX update" in this article.

If you're interested in applying this revocation on systems with the updated trust anchors, this article describes how to do just that. For now, we strongly recommend the steps in this article for testing and validation only.

The security benefits of Secure Boot

Secure Boot is a security feature in the Unified Extensible Firmware Interface (UEFI) that helps ensure that only trusted software runs during the system's boot sequence. We recommend the use of Secure Boot to help make a safe and trusted path from UEFI through the Windows kernels' Trusted Boot sequence.

As an industry standard, UEFI's Secure Boot defines how platform firmware manages certificates and authenticates firmware, and how the operating system (OS) interfaces with this process. For more details on UEFI and Secure Boot, refer to the Secure Boot page.

Secure Boot's main focus is to help protect the pre-boot environment from bootkit malware. A bootkit is a malicious program designed to load as early as possible in a device's boot sequence. Secure Boot helps ensure that only verified code executes before Windows. Verified code is firmware that runs early in the boot sequence, initializes the PC prior to the launch of Windows OS, and is trusted based on certificates configured in the firmware. Examples include UEFI firmware drivers, bootloaders, applications, and option ROMs (Read-Only Memory). Disabling Secure Boot puts a device at high risk of infection by bootkit malware.

Addressing the BlackLotus malware

The BlackLotus malware exploits a known security vulnerability called “Baton Drop,” tracked by CVE-2022-21894. It bypasses Secure Boot and then installs malicious files to the EFI (Extensible Firmware Interface) System Partition (ESP), which are then launched by the UEFI firmware. Baton Drop allows rollback of Windows boot managers to previous vulnerable versions that are not in the Secure Boot Forbidden Signature Database (DBX). It then exploits the vulnerability in Windows boot manager as part of an attack. For more information, refer to Guidance for investigating attacks using CVE-2022-21894: The BlackLotus campaign.

Windows boot manager mitigations that we released previously

To address this vulnerability, as part of the May 2023 servicing updates, we introduced a code integrity policy that blocked vulnerable Windows boot managers based on their version number. For versions of Windows boot manager that remained unaffected by this fix, we added them to the DBX.

However, we have found multiple cases that can bypass the rollback protections released during the May 2023 servicing updates. As a result, we are putting forth a more comprehensive solution that involves revoking the Microsoft Windows Production PCA (Product Certificate Authority) 2011.

New measures to help secure Windows boot managers

Here are the next steps to help protect against the malicious abuse of vulnerable Windows boot managers:

  • What we're doing: As our current trust anchors are expiring in 2026, we're already migrating to new ones (catch up on this in KB5036210: Deploying Windows UEFI CA 2023 certificate to Secure Boot Allowed Signature Database). This transition allows us to revoke trust for the Windows signing certificate, Microsoft Windows Production PCA 2011. This Product Certificate authority (PCA) is currently used to authorize trust for all Windows boot managers in Secure Boot.
  • What you can do: Once you've followed the steps in KB5036210 to add the new Windows trust anchor, you can follow the optional steps below to revoke trust in the Windows Production PCA 2011. Note that the earlier KB cautions that these updates should be done on “representative sample test devices” first. At this time, we strongly recommend the same cautious approach. Take the steps described in this article on “representative sample test devices” before attempting to perform these steps on production devices.

Guidelines for evaluating the Secure Boot DBX update

Understand the upcoming changes

By applying the DBX update to a secure boot enabled device, that device will no longer be able to boot from any Windows boot manager signed by the Microsoft Windows Production PCA 2011. This includes booting through existing recovery media, USB media, and network boot (WSD/PXE/HTTP) servers that do not have updated boot manager components. PXE boot is especially likely to be impacted. That's because you cannot update the binaries served by PXE until all machines supported by the network boot server are updated to run with the new DB update.

Plan the deployment

To prepare your device to receive the DBX update package, ensure that you have applied the DB update package first and deployed the new updated boot manager components signed by the Microsoft Windows UEFI CA 2023. Refer to KB5025885: How to manage the Windows boot manager revocations for Secure Boot changes associated with CVE-2023-24932 for more details.

  1. Confirm that your device has successfully applied the DB update package first. Open a PowerShell console and ensure that PowerShell is running as an administrator before running the following command: [System.Text.Encoding]::ASCII.GetString((Get-SecureBootUEFI db).bytes) -match ‘Windows UEFI CA 2023'

    Screenshot of a PowerShell console with a command string.

    If the command returns “True,” the update was successful. In the case of errors while applying the DB update, refer to the article, KB5016061: Addressing vulnerable and revoked Boot Managers.

  2. After applying the April servicing updates, begin by testing the updates with individual devices. Test on the same firmware and specifications in the enterprise environment to minimize the risks in the case of firmware bugs in your devices.
  3. Verify that your UEFI firmware version is the most recent available version by your firmware vendor or OEM.
  4. For data backup steps, refer to this guide.
  5. If you use BitLocker, or if your enterprise has deployed BitLocker on your machine, Back up your BitLocker recovery key. See this portal to ensure that your BitLocker keys are backed up before your next reboot for your selfhost device. In the unlikely event that device becomes inoperable after receiving the update, you can still unlock the hard drive.
  6. For devices with third party full device or disk encryption, check with your disk encryption provider to perform your own set of tests before applying the update packages.
  7. For detailed instructions on applying the DBX updates, refer to KB5025885: How to manage the Windows boot manager revocations for Secure Boot changes associated with CVE-2023-24932.

Why you need to update the DB before applying the DBX update

Note: You cannot apply the DBX update package through Windows updates on a device without first applying the DB update.

As part of the planning for the DB and DBX update packages, Microsoft, in collaboration with some of our OEM partners, has conducted extensive testing on various device configurations to detect and resolve any bugs in firmware implementations that could cause system failures or render a device unreceptive to these update packages. Despite our thorough testing, we acknowledge that we cannot cover every possible device configuration, so we strongly recommend customers to perform their own tests on their devices before applying the DB and DBX update packages.

Some of the associated risks with applying the DBX update package before updating the DB update package include:

  • The device firmware might encounter difficulties in processing the DB and DBX updates, leading to operational issues. In the handful of cases that we've encountered, we've notified the OEMs of the issue and blocked those devices from applying both DB and DBX updates until the issue can be remedied.
  • While unlikely, you might inadvertently cause BitLocker to enter recovery and lose Virtualization-based Security (VBS) protected secrets that are used by Windows Hello or Credential Guard.
  • Updating the PXE server to use 2023 signed binaries without applying the DB update first will cause the system to fail to boot, and inversely, applying the DBX update package will prevent any 2011 signed media from booting.

DO NOT apply the DBX to a device without DB update through manual update, using set-securebootuefi, as the system will not boot. Specifically, this will bypass the safety checks included in our servicing tool (Windows Updates) to guard against breaking issues. Update your device by relying on our published mitigations.

Continuing the journey of trust

In short, to establish new trust anchors, you need to untrust the Microsoft Windows Production PCA 2011. These updates are only a part of Microsoft's ongoing dedication to security. The enforcement of these updates will be announced at a later date. We encourage IT admins and enterprise customers to invest in building workflows that ensure an efficient rollout of these updates across their device fleet.

Make sure you're getting the most out of your security experience by checking out the following resources:


Continue the conversation. Find best practices. Bookmark the Windows Tech Community, then follow us @MSWindowsITPro on X/Twitter. Looking for support? Visit Windows on Microsoft Q&A.

Updated Oct 07, 2024
Version 5.0
  • nshintaku's avatar
    nshintaku
    Copper Contributor

    It appears that there is no latest installer for Windows 11 that will boot successfully after applying DBX. When will it be available?

  • VanakenJ's avatar
    VanakenJ
    Brass Contributor

    The certificates from 2011 will expire and KB5036210 solves this. But what happens in 2026 if we don't execute the DBX update from KB5036210 ?

    Will our systems still boot ?

  • sarsi's avatar
    sarsi
    Brass Contributor

    Consistent with my reply to your other article here https://techcommunity.microsoft.com/t5/windows-it-pro-blog/updating-microsoft-secure-boot-keys/ba-p/4055324

     

    I cannot believe you are giving this instruction to Microsoft users:

     

    DO NOT apply the DBX to a device without DB update through manual update, using set-securebootuefi, as the system will not boot. Specifically, this will bypass the safety checks included in our servicing tool (Windows Updates) to guard against breaking issues. Update your device by relying on our published mitigations.

     

    From what I gather how Secure Boot works - the reason why it would break in those situations is precisely because the firmware isn't getting the right sign-off from the software which means one of these is unauthorized - ie the very reason why Secure Boot exists - and in that case, it won't boot up and breaks.

     

    Which must mean - very strangely since you are asking users to do this on a microsoft.com site - that 

    1. either the new DBX you are telling us to install isn't sanctioned by Microsoft - that's why you're telling us not to do it before we apply the DB update.

    2. Which also means neither the DB update is sanctioned by Microsoft too - cuz if it is, why would it be something they didn't enable automatically and had to wait for users to do it manually?

     

    I would like to know what is going on here.

     

    Is this Tech Community, blogs, writers and users included - in fact, the whole domain even a legit official Microsoft website to begin with or is this a malicious spoof with ill-intent? 

  • This post seems related to 
    https://techcommunity.microsoft.com/t5/windows-it-pro-blog/updating-microsoft-secure-boot-keys/ba-p/4055324


    Q1: How we can execute both advisories at scale in enterprises and SMB/SMC?
    Q2: How, if ever, people at home would be patching these manually?
    Q3: How does one know if the UEFI / BIOS FW is ready for this change or not?
    Q4: Speaking of OEMs: Will they list CVE, DBX Update this in their changelogs, so one can distinguish to be ready?
    Q5:  Speaking of retail mainboards - very usual use case - with lower numbers compared to OEM devices.
    To name Asrock, Asus, MSI, Gigabyte, Biostar, - you name it - for consumers, what about these?
    Are these manufactures obliged to provide this update, or is it just in their hands to do so or not, depending the age of the mainboard and their servicing policy? Then again like with OEMs, how will consumers recognize this?

     

    We encourage IT admins and enterprise customers to invest in building workflows that ensure an efficient rollout of these updates across their device fleet.


    Please bear in mind:
    Consumers (and quite some organisations) never do UEFI updates on their Client or Server devices.
    Speaking of Client devices most of them are too old, to receive UEFI Firmware Updates seamlessly through Windows Update or WuFB.
    So manual patching appears to be part of the course.

    I understand the complexity of the topic, yet it feels same like with the Side Channel vulnerabilities patches, that a lot of manual user / admin interaction is required and most likely not executed by lack of knowledge (and time).
    Fleet patchmanagement for firmware isn't something that is usually well-addressed among SMB customers. Especially not with challenges as "work from home".


    My own experience on this so far:
    Just checked my machine with an Asrock mainboard, being in the lucky position to know that Asrock usually cares to bring updates.


    [System.Text.Encoding]::ASCII.GetString((Get-SecureBootUEFI db).bytes) -match ‘Windows UEFI CA 2023'
    False
     
    [System.Text.Encoding]::ASCII.GetString((Get-SecureBootUEFI dbx).bytes) -match 'Microsoft Windows Production PCA 2011'
    False

    BIOS version is 14.02. Apparently revoked
    No notification about this CVE. Just the regular and expected updates resolving around the 13th and 14th gen Intel CPU K-SKU power limit, CPU aging and instability controversy.

     


    Thank you for your assistance, how this could be resolved at scale. If at all, this would also address some existing side-channel vulnerabilities, as we cannot expect the recommendations have been followed for all devices.