Microsoft has issued its customary final warning: Windows 11 version 23H2 (Enterprise, Education, and IoT Enterprise editions) reaches end of servicing in 30 days. After that date, these systems will no longer receive monthly security updates, quality fixes, or technical support. Home and Pro editions of 23H2 already fell out of support in November 2025 — this deadline closes the book on the remaining enterprise SKUs.
This is not a theoretical risk. Every month after the cutoff, Microsoft's Patch Tuesday will publish fixes for newly disclosed vulnerabilities in supported Windows builds — effectively handing threat actors a reverse-engineering roadmap of what remains unpatched on your 23H2 estate. We have seen this pattern play out repeatedly: end-of-servicing operating systems become disproportionate targets in ransomware intrusions and initial-access broker campaigns precisely because defenders deprioritize them. If you are still running 23H2 in production, this is your last scheduled opportunity to remediate on your own terms rather than during an incident.
Technical Analysis: What Is Actually Going Out of Support
Affected Products and Editions
| Product | Version | Build | Servicing Status After Deadline |
|---|---|---|---|
| Windows 11 Enterprise | 23H2 | 22631.xxxx | No security or quality updates |
| Windows 11 Education | 23H2 | 22631.xxxx | No security or quality updates |
| Windows 11 IoT Enterprise | 23H2 | 22631.xxxx | No security or quality updates |
| Windows 11 Home / Pro | 23H2 | 22631.xxxx | Already out of support (Nov 2025) |
Windows 11 Enterprise and Education editions receive 36 months of servicing from release (versus 24 months for Home/Pro), which is why this deadline lands roughly a year after the consumer cutoff. Systems on Windows 11 24H2 (build 26100) and 25H2 (build 26200), as well as Windows 11 Enterprise LTSC 2024 and Windows Server releases, are not affected by this milestone.
Why This Matters Operationally
There is no CVE attached to this announcement — the risk is structural, not a single bug. After end of servicing:
- Every new Windows CVE becomes a permanent exposure on 23H2 hosts. Exploit developers routinely diff patched 24H2/25H2 binaries against unpatched 23H2 code to weaponize vulnerabilities within days of Patch Tuesday.
- Compliance posture degrades immediately. PCI-DSS requirement 6.2, HIPAA Security Rule expectations, and NIST CSF/CIS Control 7 (Continuous Vulnerability Management) all presume supported software receiving vendor fixes. An auditor finding EOS operating systems in scope is a finding, full stop.
- EDR and security tooling support erodes. Third-party security vendors progressively certify only on supported OS builds, meaning your defensive stack itself becomes less reliable on these hosts.
Exploitation Status
No specific vulnerability is being announced here, but the threat model is well established: unsupported Windows builds are actively hunted by ransomware affiliates and initial access brokers during post-compromise environment enumeration. In multiple IR engagements we have led, the presence of even a handful of EOS endpoints on an otherwise current domain was the pivot point for lateral movement, because those hosts could not receive the fix for the privilege-escalation primitive the attackers were carrying.
Detection & Response: Finding Every 23H2 Straggler
You cannot migrate what you have not inventoried. The first priority is authoritative identification of every build-22631 system, including unmanaged assets that your imaging team forgot about. The second is ensuring nothing in your environment is silently blocking feature updates — update tampering and frozen servicing states are common reasons fleets strand themselves on EOS builds.
Sigma Rules
These two rules target the behaviors we most commonly see when systems get stuck on end-of-support builds: deliberate or misconfigured disabling of the Windows Update service, and registry-based suppression of automatic updates (sometimes legitimate legacy GPO residue, sometimes attacker- or admin-introduced update blocking that later gets forgotten).
---
title: Windows Update Service Disabled or Tampered
description: Detects attempts to disable or delete the Windows Update service (wuauserv), which can strand systems on end-of-support builds such as Windows 11 23H2 and prevent feature updates from being applied.
references:
- https://attack.mitre.org/techniques/T1562/001/
- https://learn.microsoft.com/en-us/windows/release-health/windows11-release-information
author: Security Arsenal
date: 2026/10/09
status: experimental
id: 8c2e4a71-3b6f-4d92-a517-9e0c2f7b1d45
tags:
- attack.defense_evasion
- attack.t1562.001
logsource:
category: process_creation
product: windows
detection:
selection_sc:
Image|endswith: '\sc.exe'
CommandLine|contains|all:
- 'wuauserv'
CommandLine|contains:
- 'stop'
- 'disabled'
- 'delete'
selection_net:
Image|endswith: '\net.exe'
CommandLine|contains|all:
- 'stop'
- 'wuauserv'
selection_ps:
Image|endswith:
- '\powershell.exe'
- '\powershell_ise.exe'
- '\pwsh.exe'
CommandLine|contains|all:
- 'wuauserv'
CommandLine|contains:
- 'Stop-Service'
- 'Set-Service'
condition: 1 of selection_*
falsepositives:
- Legitimate servicing scripts run by desktop engineering during maintenance windows
- WSUS/Intune troubleshooting activity
level: medium
---
title: Registry-Based Windows Update Suppression
description: Detects registry modifications that disable automatic Windows Update behavior via policy keys, a common cause of fleets silently remaining on end-of-support builds such as Windows 11 23H2.
references:
- https://attack.mitre.org/techniques/T1112/
- https://learn.microsoft.com/en-us/windows/deployment/update/waas-wu-settings
author: Security Arsenal
date: 2026/10/09
status: experimental
id: 2f7b9c53-8e41-4a6d-b308-5d1a6c9e2f77
tags:
- attack.defense_evasion
- attack.t1112
logsource:
category: registry_set
product: windows
detection:
selection_key:
TargetObject|contains:
- '\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU\NoAutoUpdate'
- '\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU\AUOptions'
- '\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\AUOptions'
selection_value:
Details|contains:
- '1'
- '2'
condition: selection_key and selection_value
falsepositives:
- Intentional WSUS-managed update ring configurations set by GPO
- Legacy baseline images with stale policy residue
level: low
KQL — Microsoft Sentinel / Defender Inventory Hunt
Run this against Defender's DeviceInfo table to enumerate every onboarded endpoint still running 23H2 (build 22631), then cross-reference against Heartbeat to catch agent-managed devices. This is your migration target list.
// Enumerate all Windows 11 23H2 (build 22631) endpoints still active in the last 14 days
let eosBuild = "22631";
DeviceInfo
| where Timestamp > ago(14d)
| where OSPlatform startswith "Windows11" or OSPlatform =~ "Windows 11"
| where OSBuild startswith eosBuild
| summarize LastSeen = max(Timestamp), arg_max(Timestamp, OSVersionInfo, OSDistribution, OSArchitecture, MachineGroup) by DeviceName, DeviceId
| extend DaysUntilEOS = datetime_diff("day", datetime(2026-11-10), now())
| project DeviceName, OSBuild, OSVersionInfo, OSDistribution, MachineGroup, LastSeen, DaysUntilEOS
| order by LastSeen asc;
// Companion query: catch devices reporting via Log Analytics heartbeat that may lack Defender onboarding
Heartbeat
| where TimeGenerated > ago(14d)
| where OSType == "Windows"
| summarize arg_max(TimeGenerated, OSName, OSMajorVersion, OSMinorVersion) by Computer
| where OSName contains "22631" or (OSMajorVersion == 10 and OSName contains "23H2")
| project Computer, OSName, OSMajorVersion, OSMinorVersion, TimeGenerated;
Velociraptor VQL — OS Build Inventory Artifact
Deploy this as a hunt across your Velociraptor fleet to pull authoritative build data directly from the registry — immune to WMI manipulation and accurate even on hosts with stale asset records.
-- Inventory Windows build, release, and servicing state to identify Windows 11 23H2 (22631) hosts
LET reg <= SELECT FullPath AS RegPath,
{ SELECT Data.value AS Value FROM read_reg_key(key=FullPath, value_name="ProductName", accessor="registry") } AS ProductName,
{ SELECT Data.value AS Value FROM read_reg_key(key=FullPath, value_name="DisplayVersion", accessor="registry") } AS DisplayVersion,
{ SELECT Data.value AS Value FROM read_reg_key(key=FullPath, value_name="CurrentBuildNumber", accessor="registry") } AS BuildNumber,
{ SELECT Data.value AS Value FROM read_reg_key(key=FullPath, value_name="UBR", accessor="registry") } AS UBR
FROM glob(globs="HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion", accessor="registry")
SELECT ProductName[0].Value AS ProductName,
DisplayVersion[0].Value AS DisplayVersion,
BuildNumber[0].Value AS BuildNumber,
UBR[0].Value AS UBR,
if(condition=BuildNumber[0].Value =~ "22631", then="EOS-IMMINENT (23H2)", else="Supported") AS ServicingStatus
FROM reg
Remediation & Verification Script
Use this PowerShell to verify a host's servicing status and validate it is eligible to receive the feature update. Run it via your RMM or as an Intune remediation across the fleet.
# Verify Windows 11 servicing status and feature-update readiness
$os = Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion'
$build = [int]$os.CurrentBuildNumber
$displayVersion = $os.DisplayVersion
$ubr = $os.UBR
$fullBuild = "$build.$ubr"
Write-Output "OS: $($os.ProductName) | Version: $displayVersion | Build: $fullBuild"
# Flag end-of-servicing builds (23H2 = 22631)
if ($build -eq 22631) {
Write-Warning "This system is on Windows 11 23H2 and loses security updates on the November 2026 Patch Tuesday. A feature update to 24H2/25H2 is REQUIRED."
} elseif ($build -ge 26100) {
Write-Output "System is on a supported build ($displayVersion)."
}
# Confirm Windows Update service is healthy and not disabled
$wuauserv = Get-Service -Name wuauserv
if ($wuauserv.StartType -eq 'Disabled') {
Write-Warning "wuauserv is DISABLED - re-enabling to permit feature update delivery."
Set-Service -Name wuauserv -StartupType Manual
Start-Service wuauserv
}
# Check for update-suppression policy residue
$auPath = 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU'
if (Test-Path $auPath) {
$noAuto = (Get-ItemProperty $auPath -Name NoAutoUpdate -ErrorAction SilentlyContinue).NoAutoUpdate
if ($noAuto -eq 1) { Write-Warning 'NoAutoUpdate=1 policy is blocking updates. Review GPO/Intune configuration.' }
}
# Check for feature-update deferrals or target-release pinning to 23H2
$wuPath = 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate'
if (Test-Path $wuPath) {
$targetRelease = (Get-ItemProperty $wuPath -Name TargetReleaseVersionInfo -ErrorAction SilentlyContinue).TargetReleaseVersionInfo
if ($targetRelease -eq '23H2') { Write-Warning 'TargetReleaseVersionInfo is PINNED to 23H2. Remove this policy or update it to 24H2/25H2 before the deadline.' }
}
# Verify latest cumulative update install date
$lastHotfix = Get-HotFix | Sort-Object InstalledOn -Descending | Select-Object -First 1
Write-Output "Last cumulative update installed: $($lastHotfix.HotFixID) on $($lastHotfix.InstalledOn)"
Remediation: Your 30-Day Action Plan
Week 1 — Inventory and validate.
- Run the KQL and VQL hunts above to produce an authoritative 23H2 target list. Reconcile it against your CMDB — discrepancies usually mean unmanaged or shadow IT assets.
- Audit for update-blocking configurations (
TargetReleaseVersionInfopinned to 23H2, disabled wuauserv, stale GPOs). This is the number-one cause of "we thought we migrated" findings.
Week 2 — Pilot and push the feature update.
- Deploy the Windows 11 24H2 (build 26100) or 25H2 (build 26200) feature update to a pilot ring via Intune, WSUS, or ConfigMgr. Because 23H2→24H2 is a full OS swap (not an enablement package), plan for longer install times and validate line-of-business application compatibility early.
- For Intune-managed fleets, use Feature Update policies; for ConfigMgr, use servicing plans or task sequences. Confirm safeguard holds do not apply to your hardware profile.
Week 3 — Broad deployment.
- Expand rings with deadline enforcement. Prioritize internet-facing, privileged-access, and sensitive-data-handling systems first.
- Treat IoT Enterprise devices (kiosks, medical-adjacent devices, industrial HMIs) as a separate workstream — validate vendor certification for 24H2 before upgrading, and isolate any that cannot migrate.
Week 4 — Exception handling for what cannot move.
- Any 23H2 system that genuinely cannot be upgraded by the deadline must be compensated for: strict network segmentation, application allow-listing, enhanced EDR monitoring policies, and a documented retirement date. Do not let "temporary" exceptions become permanent.
- Review compliance scope: EOS systems in a PCI-DSS CDE or HIPAA ePHI environment are an immediate audit liability.
Authoritative references:
- Microsoft Windows 11 release health and servicing lifecycle: https://learn.microsoft.com/en-us/windows/release-health/windows11-release-information
- Microsoft Windows 11 Enterprise lifecycle: https://learn.microsoft.com/en-us/lifecycle/products/windows-11-enterprise-and-education
- Microsoft guidance on feature update deployment: https://learn.microsoft.com/en-us/windows/deployment/update/
Related Resources
Security Arsenal Penetration Testing Services AlertMonitor Platform Book a SOC Assessment vulnerability-management Intel Hub
Is your security operations ready?
Get a free SOC assessment or see how AlertMonitor cuts through alert noise with automated triage.