This is a box of sharp tools, not a hand grenade
KB5068864 is the November 11, 2025 cumulative security update for Windows 10 version 1607 and Windows Server 2016, moving affected systems to OS Build 14393.8594. Hosts below that build are missing a bundle of fixes, including a Critical Microsoft Graphics Component RCE (CVE-2025-60724), a High RRAS RCE (CVE-2025-64678), and a long tail of local elevation-of-privilege bugs. In plain English: this is not one flaw, it is a monthly rollup covering several different attack surfaces with very different real-world reachability.
The severity confusion is real: Tenable plugin 274780 itself is rated High, published November 11, 2025 and updated April 3, 2026; the apparent 'Critical' comes from an embedded legacy CVSS v2 10.0 line sourced from CVE-2025-60724, not from the plugin's own severity. For fleet prioritization, the vendor's worst-case score overstates reality because the most dangerous paths require either a specific exposed role like RRAS or an application path that actually feeds untrusted content into the vulnerable parser. That keeps this out of true wormable-Internet-fire territory for most enterprises, but still firmly in HIGH because exposed RRAS and high-value Server 2016 systems are common enough to matter.
4 steps from start to impact.
Find unpatched 1607 / Server 2016 hosts
14393.8594 using version fingerprinting, authenticated inventory, or vuln management data. Common operator tooling here is Nessus or nmap plus SMB/WinRM enumeration; defenders usually already have this visibility internally.- Target runs Windows 10 1607 or Windows Server 2016
- Host is missing
KB5068864 - Attacker can identify OS/build or get asset inventory
- This plugin is version-based, so false prioritization happens if the host is retired, isolated, or not actually running a reachable vulnerable feature
- Server 2016 is aging, but not every such host is Internet-facing
Locate a real attack surface
- RRAS role installed and reachable, or a parser-facing application path exists
- Firewall/load balancer permits inbound traffic to the service
- Attacker can reach the host over network or influence content flow
- RRAS is a niche role, not a default Windows Server deployment
- Many enterprises terminate VPN elsewhere, leaving few RRAS boxes exposed
- GDI+/graphics parsing on servers is real but usually application-mediated, not a raw listening service
Trigger the memory corruption bug
CVE-2025-64678), NVD shows UI:R despite network reachability, which is a meaningful clue that exploitation is not straightforward plug-and-fire. For the Graphics Component bug (CVE-2025-60724), Microsoft scored it 9.8, but practical reach still depends on the vulnerable parsing path being exposed to attacker-controlled input.- A valid exploitation primitive exists for the chosen component
- Traffic or content reaches the vulnerable code path
- Mitigations like filtering, content detonation, or role isolation do not stop delivery
- I found no mainstream public exploit chain or KEV evidence for these representative CVEs
- The highest-severity CVE in the bundle is not equivalent to an unauthenticated service bound to every host
- Custom exploit development cost is much higher than for commodity edge CVEs
Land code execution and expand control
Cobalt Strike, Sliver, Impacket, or living-off-the-land PowerShell and service creation. At that stage the host becomes a pivot point into AD, data stores, or management infrastructure.- Initial code execution succeeds
- EDR does not kill the payload or lateral movement
- Compromised host has useful credentials, trust, or network adjacency
- Modern EDR is very good at catching the post-exploitation phase even when the initial memory bug succeeds
- Blast radius varies sharply by host role; a kiosk and a domain-adjacent server are not the same risk
The supporting signals.
| What this plugin really is | A cumulative Windows security update check, not a single CVE. Tenable says the host is missing KB5068864, which rolls up multiple RCE and EoP fixes. |
|---|---|
| Tenable severity vs. 'Critical' confusion | Plugin 274780 is High, not Critical. The apparent Critical label comes from the plugin's embedded CVSS v2 10.0 line sourced from CVE-2025-60724; the plugin page also shows CVSS v3 8.8 High sourced from CVE-2025-64678. |
| In-the-wild status | I found no vendor or CISA evidence of active exploitation for the representative RCEs in this bundle, and they are not present in the current CISA KEV catalog. |
| Public PoC availability | For the highest-scored representative bug, GitHub Advisory for CVE-2025-60724 shows 'No known source code'. I did not find a mainstream public exploit path for CVE-2025-64678 either. |
| EPSS | GitHub Advisory reports EPSS 0.166% (37th percentile) for CVE-2025-60724, which is low and matches the absence of exploitation noise. |
| Representative CVSS | CVE-2025-60724 = 9.8 / CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H; CVE-2025-64678 = 8.8 / CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H. The first is terrifying on paper; the second already bakes in user interaction. |
| Affected versions | Windows 10 version 1607 and Windows Server 2016 before OS Build 14393.8594 are affected by this update gap. |
| Fixed version | Install KB5068864 and, per Microsoft guidance, ensure the latest SSU KB5070247 is approved/installed first or alongside it. |
| Exposure reality | The most obvious network-facing path in this bundle is RRAS, which Microsoft documents as a separate Remote Access role; Microsoft also documents TCP 1723 for RRAS/PPTP. That sharply limits exposed population versus a browser, mail gateway, or VPN appliance bug. |
| Disclosure timeline | Microsoft released KB5068864 on 2025-11-11. Tenable published plugin 274780 the same day and last updated it on 2026-04-03. |
noisgate verdict.
The decisive factor is reachability friction: the bundle's scariest bugs do not map to 'every missing Server 2016 box is remotely ownable from the Internet.' The practical remote path narrows quickly to RRAS-enabled or parser-exposed hosts, which keeps this below CRITICAL even though the bundle contains a 9.8-rated CVE.
Why this verdict
- Downward pressure: plugin-level reachability is overstated — this is a cumulative update check, not one universally reachable service bug across every host.
- Downward pressure: RRAS is a separate role — the cleanest remote path requires Remote Access / RRAS exposure, which implies a much smaller exposed population than the full set of missing hosts.
- Downward pressure: no KEV / no strong exploitation evidence — I found no CISA KEV listing or vendor-confirmed active exploitation for the representative RCEs.
- Upward pressure: there is still real remote-code-exec content here —
CVE-2025-60724is scored 9.8 by Microsoft and the bundle also includesCVE-2025-64678, so exposed edge cases deserve front-of-queue handling. - Upward pressure: post-compromise value is high — even where remote reach is narrow, the included EoP set makes these excellent attacker follow-on bugs once any foothold exists.
Why not higher?
I am not calling this CRITICAL because the attack chain is not broadly Internet-wormable across the full vulnerable population. The strongest remote path depends on specific role exposure or content-processing conditions, and I found no active exploitation signal that would justify an emergency-everything response.
Why not lower?
I am not dropping this to MEDIUM because the bundle contains bona fide RCE material, including a Microsoft-scored 9.8 bug and an RRAS RCE relevant to real enterprise server roles. If you have even a small number of externally reachable RRAS or content-ingesting Server 2016 systems, the downside is too large for backlog treatment.
What to do — in priority order.
- Restrict RRAS exposure — Block or tightly allowlist TCP 1723 and related VPN exposure paths on Server 2016 systems that do not absolutely need them. For a HIGH verdict, deploy this compensating control within 30 days; do it first on Internet-facing and partner-facing systems.
- Disable unused Remote Access roles — Remove or disable RRAS / Remote Access where the service is not actively required. This shrinks the only clearly documented network-facing attack surface in the bundle and should be completed within 30 days on nonessential systems.
- Prioritize parser-facing servers — Move servers that ingest untrusted files, images, Office content, or application uploads to the top of the queue because the Graphics Component RCE is only dangerous where untrusted content actually reaches the parser. Apply access restrictions or workflow isolation within 30 days while patching proceeds.
- Lean on EDR preventions — Ensure exploit protection, memory protection, PowerShell logging, and service-creation detections are enforced on these hosts. This does not remove the bug, but it materially raises attacker failure rates in the post-execution stage and should be verified within 30 days.
- Approving only
KB5068864in WSUS without the prerequisite SSUKB5070247is not a control; Microsoft explicitly says the cumulative update may not install correctly without the latest SSU. - Assuming 'Windows Firewall is on' helps is sloppy; if RRAS or the application path is intentionally published, the firewall is already allowing the dangerous traffic.
- Relying on generic perimeter AV does not stop memory corruption in a legitimately exposed Windows service or parser path.
Crowdsourced verification payload.
Run this on the target Windows host or via your remote management tool. Invoke it with powershell.exe -ExecutionPolicy Bypass -File .\check-kb5068864.ps1; local admin is helpful for consistent hotfix enumeration, but standard read access is usually enough because the script falls back to registry build checks.
# check-kb5068864.ps1
# Verifies whether a Windows 10 1607 / Windows Server 2016 host is patched for KB5068864
# Output: VULNERABLE / PATCHED / UNKNOWN
# Exit codes: 0=PATCHED, 1=VULNERABLE, 2=UNKNOWN
$ErrorActionPreference = 'Stop'
function Write-Result {
param(
[string]$Status,
[string]$Message,
[int]$Code
)
Write-Output "$Status - $Message"
exit $Code
}
try {
$cv = Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion'
$productName = [string]$cv.ProductName
$releaseId = [string]$cv.ReleaseId
$displayVersion = [string]$cv.DisplayVersion
$currentBuild = [int]$cv.CurrentBuildNumber
$ubr = [int]$cv.UBR
$buildString = "$currentBuild.$ubr"
$isServer2016 = $productName -match 'Windows Server 2016'
$isWin10_1607 = ($productName -match 'Windows 10') -and (($releaseId -eq '1607') -or ($displayVersion -eq '1607') -or ($currentBuild -eq 14393))
if (-not ($isServer2016 -or $isWin10_1607)) {
Write-Result 'UNKNOWN' "Host is '$productName' build $buildString, not Windows 10 1607 / Windows Server 2016." 2
}
# Preferred check: installed hotfix
$kbInstalled = $false
try {
$hotfix = Get-HotFix -Id 'KB5068864' -ErrorAction Stop
if ($hotfix) { $kbInstalled = $true }
} catch {
$kbInstalled = $false
}
# Fallback check: cumulative build number
$buildPatched = $false
if ($currentBuild -gt 14393) {
$buildPatched = $true
} elseif ($currentBuild -eq 14393 -and $ubr -ge 8594) {
$buildPatched = $true
}
if ($kbInstalled -or $buildPatched) {
$why = if ($kbInstalled) { 'KB5068864 is installed.' } else { 'OS build is at or above 14393.8594.' }
Write-Result 'PATCHED' "$productName build $buildString. $why" 0
} else {
Write-Result 'VULNERABLE' "$productName build $buildString is below 14393.8594 and KB5068864 was not found." 1
}
}
catch {
Write-Result 'UNKNOWN' ("Verification failed: " + $_.Exception.Message) 2
}
If you remember one thing.
KB5068864 plus SSU KB5070247 across the affected fleet within 180 days under the noisgate remediation SLA. Generic non-exposed hosts can stay in the regular monthly Windows patch lane, but exposed RRAS boxes belong at the front of it.Sources
What defenders are saying.
Crowdsourced verification outputs.
Results submitted by users who ran the verification payload against their environment.