HomeNewsletterCommunityMVP FeedToolsArchiveBlogToday's NewsAboutServicesQuick Links Subscribe free
← Back to Blog
Security Secure BootBlackLotusConfigMgrSCCMSecurityCVE-2023-24932

BlackLotus Isn't Fixed When the Certificate Updates: Tracking All Four Secure Boot Mitigations

IA
Imran Awan
13 August 2026

Your Secure Boot report shows the 2023 certificate installed. Ticket closed, right? Not quite. CVE-2023-24932 - the BlackLotus bootkit vulnerability - isn't fixed by one certificate update. It needs four separate mitigations to land, in order, and a device that's only completed the first one is still exploitable by the exact attack this CVE describes. This post covers what all four mitigations actually are, why tracking "certificate installed" alone gives you a false sense of security, and how to track real fleet-wide progress through all four - including a ConfigMgr hardware inventory technique for hybrid environments that Intune's own Secure Boot report doesn't give you.

Note: CVE-2023-24932 is a Secure Boot bypass that lets an attacker with admin rights or physical access swap the trusted Windows Boot Manager for an older, still-signed-but-vulnerable version, then run malicious code before Windows itself even starts - before your antivirus, before EDR, before anything running inside the OS gets a chance to see it.

The problem: "certificate installed" is one of four steps, not the fix

Two Secure Boot certificate authorities are retiring: Microsoft Corporation UEFI CA 2011 and Microsoft Corporation KEK CA 2011 expire starting June 2026, and Microsoft Windows Production PCA 2011 expires from October 2026. Their replacements - Windows UEFI CA 2023 and Microsoft Corporation KEK 2K CA 2023 - are what most "Secure Boot Status" reports in Intune and ConfigMgr actually check for.

But installing the 2023 certificate only completes mitigation one of four. A device can show a shiny new certificate in its trust database and still boot on a boot manager that CVE-2023-24932 can exploit, because the vulnerable 2011 boot manager hasn't actually been revoked yet. That revocation is mitigation three, and it doesn't happen automatically just because mitigation one did.

Why it happens: four mitigations, applied in strict order, tracked by one bitmask

Microsoft's remediation for CVE-2023-24932 is staged deliberately, because doing it out of order can break boot on some hardware. The four mitigations are:

  1. Install the 2023 CA certificate into the firmware's trusted signature database (DB) - lets the device trust boot components signed by the new authority, without yet removing trust in the old one.
  2. Update the boot manager to a 2023-signed version - the device now actually boots using the new, non-vulnerable boot manager.
  3. Revoke the 2011 boot manager via the forbidden signature database (DBX) - this is the step that actually closes CVE-2023-24932, by making the old vulnerable boot manager un-bootable even if an attacker tries to restore it.
  4. Enforce the Secure Version Number (SVN) - a firmware-level anti-rollback counter that stops an even-older signed boot manager from being reintroduced later.

All four are tracked through a single registry value: AvailableUpdates under HKLM:\SYSTEM\CurrentControlSet\Control\Secureboot. Each mitigation has its own bit - 0x40 for the CA certificate, 0x100 for the boot manager update, 0x80 for the DBX revocation, and 0x200 for SVN enforcement. A scheduled task, \Microsoft\Windows\PI\Secure-Boot-Update, checks this value roughly every 12 hours and clears each bit as its mitigation completes - reboots are required between stages, which is why this can take several maintenance windows to finish on a single device, let alone a fleet.

Gotcha: A device must be on the July 8, 2025 cumulative update or later before any of this applies at all. Older devices won't show these registry values or the scheduled task, and Secure Boot reports may misleadingly show them as "Not Applicable" rather than "Needs a newer update first."

How to verify: check the registry bit AND the real firmware, not just one

The registry value tells you what Windows thinks is still pending - but it doesn't always match what's actually in the firmware. The safer approach checks both, using the certificate-authority PowerShell cmdlets directly against the UEFI trust databases:

PowerShell — verify against real firmware (run elevated)
# Mitigation 1 - is the 2023 CA certificate actually in the firmware DB? [System.Text.Encoding]::ASCII.GetString((Get-SecureBootUEFI db).bytes) -match 'Windows UEFI CA 2023' # Mitigation 3 - has the 2011 boot manager actually been revoked in the DBX? [System.Text.Encoding]::ASCII.GetString((Get-SecureBootUEFI dbx).bytes) -match 'Microsoft Windows Production PCA 2011' # Mitigation 4 - is SVN enforcement compliant? Get-SecureBootSVN

Run this on a real device and you can genuinely see mitigations disagree with each other - which is exactly the trap a certificate-only check falls into:

PowerShell — real output, this series' test device
AvailableUpdates registry value : 0x4000 Mitigation status: 1. UEFI CA 2023 cert in DB : True 2. Boot manager is 2023-signed : True 3. 2011 boot manager revoked (DBX) : False 4. SVN enforcement applied : False (SVN detail: FirmwareSVN=0.0 BootManagerSVN=9.0 StagedSVN=9.0 - Not compliant (Staged SVN does not match firmware SVN)) Result: NOT YET COMPLETE - one or more mitigations still pending.

Read that the way it's meant to be read: this device's certificate and boot manager are both already updated - a certificate-only Secure Boot report would show it as fully protected. But the 2011 boot manager still hasn't been revoked, and SVN enforcement hasn't landed either. That gap is exactly where CVE-2023-24932 still applies, and no cert-only dashboard would catch it.

The fix: control the rollout, then track all four stages centrally

Context: most environments should let this apply automatically - Microsoft manages the rollout by default. The two registry values below exist for the minority of cases where you need manual control (staged pilot groups, hardware compatibility testing before broad rollout).

Controlling rollout via registry (Intune custom profile or GPO Registry preference)

There is no dedicated Settings Catalog toggle or ADMX template for this specific opt-out - both values are plain registry settings under the same key, deployed as a custom OMA-URI profile in Intune or a Registry preference item in Group Policy:

ValuePurposeSet to
MicrosoftUpdateManagedOptInWhether Microsoft's automatic rollout schedule controls this device0 to take manual control (test/pilot rings)
HighConfidenceOptOutOpts a device out of Microsoft's "high confidence" automatic push, even when opted in generally1 to opt out

To deploy via Intune as a custom Settings Catalog profile:

  1. Sign in to intune.microsoft.com.
  2. Go to Devices › Configuration › Create › New policy, choose Windows 10 and later › Settings catalog.
  3. Add settings and search for Registry under the CSP list, or use a custom OMA-URI profile targeting ./Vendor/MSFT/Registry/HKLM/SYSTEM/CurrentControlSet/Control/Secureboot/MicrosoftUpdateManagedOptIn with an Integer value of 0.
  4. Assign to your pilot ring only - leave broad devices on Microsoft's default managed rollout.
intune.microsoft.comDevices › ConfigurationCreateSettings catalog › Registry
Watch out: Manually forcing mitigations out of order, or on hardware that hasn't been validated, has bricked devices in the field - always test on representative hardware first, and confirm BitLocker recovery keys are escrowed to Entra ID/AD before applying anything to a device with BitLocker enabled. A boot manager change without an escrowed key turns a routine mitigation into a support incident.

Tracking all four stages in ConfigMgr (the gap Intune's report doesn't cover)

Intune's Secure Boot Status report is genuinely useful for Intune-managed devices, but it doesn't exist for a co-managed or ConfigMgr-primary fleet, and it only reports certificate state, not all four mitigations. SystemCenterDudes documented a genuinely useful pattern for this: extend ConfigMgr's own hardware inventory to collect the AvailableUpdates registry value directly, so you get all four mitigations tracked centrally alongside every other device attribute you already collect.

The mechanism, using ConfigMgr current branch's real hardware inventory extension process (not the legacy sms_def.mof editing from older versions):

  1. On the top-level site server, edit Configuration.mof (found under Inboxes\clifiles.src\hinv\ in the ConfigMgr install directory) to add a custom class definition that reads the AvailableUpdates REG_DWORD from the Secure Boot registry key. Add your custom class under the "Added extensions" section at the bottom of the file - never edit anything above it, since a site update can overwrite the reserved sections.
  2. Review dataldr.log on the site server to confirm the site accepted the new class.
  3. In the ConfigMgr console, go to Administration › Client Settings › Default Client Settings › Hardware Inventory › Set Classes, and either Add the new class directly from a client's WMI namespace, or Import a MOF file containing it.
  4. Enable the class for collection, then refresh policy on a test client and confirm the new class compiles (check InventoryAgent.log on the client).
  5. Once inventory runs, query the new class in Resource Explorer, or build a collection query against it to find every device still missing a specific mitigation bit.
ConfigMgr consoleAdministration › Client SettingsDefault Client Settings › Hardware InventorySet Classes
Tip: Once the custom class is collecting fleet-wide, a Power BI report built against the ConfigMgr database view for that class gives you exactly what a certificate-only dashboard can't: a device count broken down by which of the four mitigations each one has actually reached, so you can route "stuck at mitigation 1, needs firmware" devices to your hardware team separately from "stuck at mitigation 3, just needs the scheduled task nudged" devices.

Registry keys behind the mitigation state

Everything in this post reads from or writes to one registry key:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Secureboot
Value name (type)Healthy valueIf wrong
AvailableUpdates (REG_DWORD)0x0 - no mitigations pendingNon-zero = decode the bitmask; 0x40/0x80/0x100/0x200 are the four documented mitigation flags, but Microsoft has added others over time (this series' own test device showed 0x4000, outside the documented four) - verify against real firmware, not the raw number alone
MicrosoftUpdateManagedOptIn (REG_DWORD)Absent, or 1, for automatic Microsoft-managed rollout0 = you have taken manual control - confirm that was intentional
HighConfidenceOptOut (REG_DWORD)Absent, or 01 = this device is deliberately opted out of Microsoft's high-confidence push - fine for a pilot ring, a problem if set fleet-wide by accident

Proof it worked: all four independently verified, not just the certificate

A device is genuinely protected against CVE-2023-24932 only when all four checks confirm true - the certificate, the boot manager, the DBX revocation, and SVN compliance - not when the Secure Boot report shows a green checkmark for the certificate alone. Re-running the verification script after the scheduled task completes another cycle should show each False above flip to True in turn, in the same order the mitigations apply - if mitigation 3 flips before mitigation 2, something has gone wrong with the sequencing and is worth investigating before trusting the device.

References

PowerShell Scripts — BlackLotus Mitigation Tracking

Script for this post is in Windows-Patching-Scripts.

Get-BlackLotusMitigationStatus.ps1 — read-only: checks all four CVE-2023-24932 mitigations against real firmware state, not just the registry bit
View all scripts on GitHub
Was this post helpful?
React below — no account needed
Share this post
LinkedIn X / Twitter Reddit Bluesky

More from EndpointWeekly

Security
Windows 11 June 2026 Security Alert: Secure Boot Certificate…
KB5094126 delivers two urgent security items: automatic migration from expiring 2011…
Security
Microsoft Edge Now Lets Users Sign In With Google — Here's What…
Edge now shows a Google sign-in option for browser profiles. On managed endpoints, that…
Security
Device Code Phishing: How Attackers Steal Microsoft 365 Sessions…
A user visits the real microsoft.com/devicelogin page, enters a real code, and hands an…