Описание
Windows BitLocker Security Feature Bypass Vulnerability
Microsoft is aware of a security feature bypass vulnerability in Windows publicly referred to as "YellowKey". The proof of concept for this vulnerability has been made public violating coordinated vulnerability best practices.
We are issuing this CVE to provide mitigation guidance that can be implemented to protect against this vulnerability until the security update is made available.
Mitigation FAQs
Should I leverage the temporary mitigation?
Microsoft recommends that you consider implementing these mitigations if you are concerned your devices and data are at risk of being compromised or stolen. For example, if your organization’s employees take their work devices home or on business travel.
What impact to service availability/management could be caused by implementing the mitigations?
Implementing these mitigations will not impact service availability or management operations.
Do customers need to revert the changes made to mitigate the vulnerability once the security update to protect against this vulnerability is available?
No. The security update will maintain the mitigation's behavior once the security update is installed.
I am using TPM+PIN, am I at risk of this vulnerability being exploited
No, if you are using TPM+PIN the vulnerability is not exploitable.
FAQ
What kind of security feature could be bypassed by successfully exploiting this vulnerability?
A successful attacker could bypass the BitLocker Device Encryption feature on the system storage device. An attacker with physical access to the target could exploit this vulnerability to gain access to encrypted data.
Is there a script that I can copy and paste to implement a mitigation?
Yes. This script is an interim security fix that helps to reduce the risk of exploitation of the vulnerability.
The script is for WinRE and removes autofstx.exe from the BootExecute registry value. Since BootExecute runs programs very early in boot (even in recovery mode), removing this entry prevents that executable from running in a high‑privilege environment, reducing risk.
It works by mounting the WinRE image, editing its offline SYSTEM registry to remove the entry if present, then safely committing changes and re‑sealing WinRE so BitLocker trust remains intact.
It’s designed to be safe—if the autofstx.exe entry isn’t there, it exits without making changes.
.DESCRIPTION This remediation script removes the "autofstx.exe" entry from the BootExecute REG_MULTI_SZ value inside the Windows Recovery Environment (WinRE) offline SYSTEM registry hive. This is a security fix to prevent autofstx.exe from executing during WinRE boot.
.PARAMETER MountPath Directory to use as the WinRE mount point. Created if it does not exist. Default: C:\Mount
.EXAMPLE # Standard run .\Remove-AutoFsTxFromWinRE.ps1
.EXAMPLE # Custom mount path .\Remove-AutoFsTxFromWinRE.ps1 -MountPath D:\mount
.NOTES Requirements: Windows with WinRE and reagentc support, Administrator privileges. The WinRE disable/enable cycle at the end is required to re-seal the BitLocker measurement chain after modifying the WinRE image.
#> param( [Parameter(Mandatory = $false)] [string]$MountPath = "C:\Mount" )
Target entry to remove from BootExecute
$EntryToRemove = "autofstx.exe"
Internal constant for the offline hive key name
$HiveName = "WinREHive"
State tracking for cleanup
$hiveLoaded = $false $imageMounted = $false $mountCreated = $false $changesMade = $false
Write-Host "Remove autofstx.exe from WinRE BootExecute"
1. Verify Administrator Privileges
PS Version: All | Admin: Yes | System Requirements: None
try { $identity = [Security.Principal.WindowsIdentity]::GetCurrent() $principal = [Security.Principal.WindowsPrincipal]$identity $isAdmin = $principal.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)
} catch { Write-Warning "Error checking administrator privileges: $_" exit 1 }
2. Check WinRE Status
PS Version: All | Admin: Yes | System Requirements: reagentc.exe
try { $winreOutput = & reagentc /info 2>&1 if ($LASTEXITCODE -ne 0) { Write-Host "[2/8] WinRE status check: FAILED" -ForegroundColor Red Write-Warning "reagentc /info returned exit code $LASTEXITCODE" exit 1 } $winreOutputStr = $winreOutput -join "`n"
Make this check language agnostic
if ($winreOutputStr -match "[::]\s*Enabled\b") { Write-Host "[2/8] WinRE status: Enabled" -ForegroundColor Green } else { Write-Host "[2/8] WinRE status: NOT ENABLED. Exiting." -ForegroundColor Green exit 0 } } catch { Write-Warning "Error checking WinRE status: $_" exit 1 }
3. Mount WinRE Image
PS Version: All | Admin: Yes | System Requirements: reagentc.exe
try { if (-not (Test-Path $MountPath)) { New-Item -ItemType Directory -Path $MountPath -Force | Out-Null $mountCreated = $true Write-Host "[3/8] Created mount directory: $MountPath" } else { $existing = Get-ChildItem -Path $MountPath -Force -ErrorAction SilentlyContinue if ($existing) { Write-Host "[3/8] Mount WinRE image: FAILED" -ForegroundColor Red Write-Host " Mount directory $MountPath is not empty." Write-Host " Clean it or specify a different -MountPath." exit 1 } }
} catch { Write-Warning "Error mounting WinRE image: $_" exit 1 }
4. Load Offline SYSTEM Registry Hive
PS Version: All | Admin: Yes | System Requirements: reg.exe
try { # Locate the SYSTEM hive in the mounted WinRE image $hivePath = $null $hiveCandidates = @( "$MountPath\Windows\System32\config\SYSTEM", "$MountPath\windows\system32\config\SYSTEM" )
} catch { Write-Warning "Error loading offline hive: $_"
}
5. Read BootExecute and Remove autofstx.exe
PS Version: All | Admin: Yes | System Requirements: None
try { # Determine active ControlSets from Select key $selectPath = "Registry::HKEY_LOCAL_MACHINE$HiveName\Select" $selectProps = Get-ItemProperty -Path $selectPath -ErrorAction SilentlyContinue
} catch { Write-Warning "Error modifying BootExecute: $_"
}
6. Unload Offline Registry Hive
PS Version: All | Admin: Yes | System Requirements: reg.exe
try { [gc]::Collect() Start-Sleep -Seconds 2
} catch { Write-Warning "Error unloading hive: $_"
}
7. Unmount WinRE Image with Commit
PS Version: All | Admin: Yes | System Requirements: reagentc.exe
try { if ($changesMade) { $unmountOutput = & reagentc /unmountre /path $MountPath /commit 2>&1 } else { $unmountOutput = & reagentc /unmountre /path $MountPath /discard 2>&1 }
} catch { Write-Warning "Error unmounting WinRE image: $_" exit 1 }
8. Re-seal WinRE (Disable + Enable Cycle for BitLocker Trust Chain)
PS Version: All | Admin: Yes | System Requirements: reagentc.exe, BitLocker
try { if (-not $changesMade) { Write-Host "[8/8] Re-seal WinRE: Skipped (no changes made)" -ForegroundColor Green } else { $disableOutput = & reagentc /disable 2>&1 if ($LASTEXITCODE -ne 0) { Write-Warning "reagentc /disable returned non-zero: $disableOutput" } else { Write-Host " WinRE disabled." }
} catch { Write-Warning "Error during WinRE re-seal: $_" Write-Host " Run manually: reagentc /enable" exit 1 }
Write-Host "" Write-Host " COMPLETE: '$EntryToRemove' removed from WinRE BootExecute" -ForegroundColor Green
Cleanup: remove mount directory if we created it
if ($mountCreated -and (Test-Path $MountPath)) { Remove-Item -Path $MountPath -Recurse -Force -ErrorAction SilentlyContinue }
Обновления
| Продукт | Статья | Обновление |
|---|---|---|
| Windows 11 Version 24H2 for x64-based Systems | ||
| Windows Server 2025 | ||
| Windows Server 2025 (Server Core installation) | ||
| Windows 11 Version 25H2 for x64-based Systems | ||
| Windows 11 version 26H1 for x64-based Systems |
Показывать по
Возможность эксплуатации
Publicly Disclosed
Exploited
Latest Software Release
EPSS
6.8 Medium
CVSS3
Связанные уязвимости
Microsoft is aware of a security feature bypass vulnerability in Windows publicly referred to as "YellowKey". The proof of concept for this vulnerability has been made public violating coordinated vulnerability best practices. We are issuing this CVE to provide mitigation guidance that can be implemented to protect against this vulnerability until the security update is made available. Mitigation FAQs Should I leverage the temporary mitigation? Microsoft recommends that you consider implementing these mitigations if you are concerned your devices and data are at risk of being compromised or stolen. For example, if your organization’s employees take their work devices home or on business travel. What impact to service availability/management could be caused by implementing the mitigations? Implementing these mitigations will not impact service availability or management operations. Do customers need to revert the changes made to mitigate the vulnerability once the security u
Microsoft is aware of a security feature bypass vulnerability in Windows publicly referred to as "YellowKey". The proof of concept for this vulnerability has been made public violating coordinated vulnerability best practices. We are issuing this CVE to provide mitigation guidance that can be implemented to protect against this vulnerability until the security update is made available.
Уязвимость компонента BitLocker операционных систем Windows, позволяющая нарушителю получить несанкционированный доступ к защищаемой информации
EPSS
6.8 Medium
CVSS3