← Back to Feed CACHED · 2026-08-17 07:43:37 · CACHE_KEY CVE-2010-2743
CVE-2010-2743 · CWE-119 · Disclosed 2011-01-20

The kernel-mode drivers in Microsoft Windows XP SP3 do not properly perform indexing of a function-pointer…

ASSESSED — NOISGATE V0.5
Vendor
Reassessed
Verdict:
Do you agree?
01 · The Real Story

A legendary skeleton key for a house that was demolished a decade ago

CVE-2010-2743 is a local privilege escalation in the Windows kernel-mode driver win32k.sys. The xxxKENLSProcs function fails to validate an array index into a function-pointer table when loading keyboard layout files from disk. By crafting a malicious keyboard layout DLL, a local attacker triggers an out-of-bounds call (CALL _aNLSVKFProc[ecx*4]) and achieves arbitrary code execution in Ring 0 — full SYSTEM. Affected versions span Windows 2000, XP SP3, Server 2003 SP2, Vista, Server 2008, Windows 7, and Server 2008 R2. The patch shipped as MS10-073 in October 2010.

Microsoft rated this Important (not Critical), which was fair at the time given the local-access prerequisite. In 2026, the vendor severity is irrelevant because *every* affected OS version is end-of-life. Windows XP holds roughly 0.2% of global desktop share; Server 2003 is effectively zero outside air-gapped OT enclaves. Any unpatched host has hundreds of other unpatched CVEs of equal or greater severity. This specific CVE adds negligible marginal risk to a modern fleet.

"Famous Stuxnet vector, but the OS it targets is functionally extinct in 2026 enterprises."
02 · The Attack Path

3 steps from start to impact.

STEP 01

Local code execution on an EOL Windows host

The attacker must already have the ability to run arbitrary code as a low-privileged user on a Windows XP/2003/Vista/2008/7 system. This is the hardest prerequisite in a 2026 environment — these hosts barely exist and are typically network-segmented or air-gapped.
Conditions required:
  • Local interactive or remote-code-execution foothold on a pre-Windows 8 host
  • Host must be running an unpatched (pre-MS10-073) kernel
Where this breaks in practice:
  • <0.5% of enterprise desktops run any affected OS in 2026
  • OT/medical/ATM instances of XP Embedded are almost always air-gapped or on isolated VLANs
  • Any host unpatched for a 2010 bulletin has far easier escalation paths available
Detection/coverage: Nessus plugin 49950 detects missing MS10-073. Any modern vulnerability scanner flags the entire OS as EOL, which is a superset finding.
STEP 02

Load crafted keyboard layout DLL

The attacker places a malicious keyboard layout file on disk and triggers win32k.sys to load it. The crafted file contains an out-of-bounds index that redirects a function-pointer call to attacker-controlled shellcode. Stuxnet shipped a ready-made payload for this step, and public exploits exist on Exploit-DB (EDB-15985).
Conditions required:
  • Write access to a filesystem location readable by the kernel
  • Ability to trigger keyboard layout loading (standard user API call)
Where this breaks in practice:
  • Application whitelisting (if deployed) blocks the crafted DLL
  • DEP and ASLR on Vista+ make reliable exploitation harder than on XP, though Stuxnet solved this for XP
Detection/coverage: EDR behavioral detection for unusual keyboard layout loading; however, most EDR vendors have dropped Windows XP agent support entirely.
STEP 03

Kernel-mode code execution (SYSTEM)

The corrupted function pointer executes attacker shellcode in Ring 0. The attacker now has full SYSTEM privileges and can install rootkits, disable security software, or pivot laterally. On XP, there is no Secure Boot, no Credential Guard, and no hypervisor-based isolation.
Conditions required:
  • Successful exploitation in step 2
Where this breaks in practice:
  • On Vista/7/2008 with DEP+ASLR, exploitation reliability drops significantly
  • On XP, there is zero friction — the exploit is deterministic
Detection/coverage: No modern EDR covers XP. Legacy AV with Stuxnet signatures would flag the known payload but not a custom variant.
03 · Intelligence Metadata

The supporting signals.

In-the-wildYes — historically. Exploited by the Stuxnet worm (July 2010), one of the most sophisticated nation-state campaigns ever documented. No evidence of current active exploitation campaigns in 2026.
PoC / ExploitPublic exploit on Exploit-DB (EDB-15985). Metasploit module exploit/windows/local/ms10_073_kbdlayout. Stuxnet source analysis published by multiple researchers.
EPSS0.14849 (~85th percentile). Elevated relative to age, likely due to historical Stuxnet association and public exploit availability.
KEV statusNot listed. CISA KEV focuses on currently exploitable vulnerabilities; the EOL status of affected OSes likely excludes it.
CVSSCVSS v2: 7.2AV:L/AC:L/Au:N/C:C/I:C/A:C. Local access required, low complexity, complete CIA impact. No CVSS v3 vector assigned by NVD (pre-v3 era vulnerability).
Affected versionsWindows 2000, XP SP3, Server 2003 SP2, Vista (SP1/SP2), Server 2008 (SP2), Windows 7, Server 2008 R2 — all editions and architectures.
Fixed versionMS10-073 (KB981957), released October 12, 2010. All affected OS versions have been EOL for 5–16 years.
Exposure dataShodan/Censys show negligible internet-facing Windows XP/2003 instances. Per StatCounter and Enlyft, XP holds ~0.2% of global desktop OS share. Residual presence is concentrated in OT, medical devices, and ATM kiosks — almost exclusively air-gapped.
Disclosure date2010-10-12 (MS10-073 bulletin); NVD lists 2011-01-20. Stuxnet samples exploiting this were observed as early as July 2010.
Researcher / OrgDiscovered in the wild via Stuxnet analysis. Credited researchers include the Symantec W32.Stuxnet Dossier team and independent analyst Sergey Golovanov (Kaspersky).
04 · The Call

noisgate verdict.

Final Verdict
DOWNGRADED to LOW (2.0/10)

The single most decisive factor is that every affected OS version is end-of-life, with a combined install base below 0.5% in enterprise environments — the reachable population is effectively zero. While the exploit is public and historically proven, the absence of living targets makes this a cataloging exercise, not an operational risk.

HIGH Affected OS versions are EOL and nearly extinct in enterprise fleets
HIGH Exploit is reliable and public (Stuxnet, Metasploit, Exploit-DB)
MEDIUM Residual OT/medical/ATM XP Embedded population estimate (~0.2%)

Why this verdict

  • Extinct target population: Every affected OS (XP through Server 2008 R2) is end-of-life. StatCounter and Enlyft data show XP at ~0.2% of desktops globally. In a managed 10,000-host enterprise, the expected count of affected hosts rounds to zero.
  • Local access prerequisite: CVSS vector is AV:L — the attacker must already have code execution on the target. On an air-gapped OT host running XP, getting local access is the hard part; once there, dozens of other unpatched kernel vulns are equally available.
  • Role multiplier: The affected component is win32k.sys, a kernel-mode driver — on paper this is a high-value target (kernel-mode = SYSTEM). However, the *platforms* where it is unpatched are (a) workstation-class XP desktops (low-value, <0.1% of fleet), (b) OT/ICS HMIs running XP Embedded (high-value for safety, but air-gapped and not addressable via this CVE's patch anyway since they're EOL), (c) legacy Server 2003/2008 (should have been decommissioned years ago). The high-value OT role is real but the blast radius is contained by network segmentation, and the marginal risk from *this specific CVE* vs. the hundreds of other unpatched vulns on those hosts is negligible. The floor test is not triggered because <1% of the installed base occupies an unsegmented high-value role.
  • Patch available for 16 years: MS10-073 shipped in October 2010. Any host that remains unpatched in 2026 is unpatched for *everything* — this CVE is not the limiting factor in its risk posture.
  • No current exploitation: Despite Stuxnet's historical use, there is no evidence of active 2026 campaigns targeting this CVE. Not KEV-listed.

Why not higher?

Upgrading to MEDIUM or above would require a meaningful population of reachable, unpatched hosts. With every affected OS version EOL for 5–16 years and global install share below 0.5%, the vulnerability has no operational attack surface in a modern enterprise. The Stuxnet pedigree is historically significant but does not translate to current risk.

Why not lower?

IGNORE would be appropriate if no affected hosts could plausibly exist. Residual XP Embedded deployments in OT, medical, and ATM environments are documented and real, even if small and segmented. For enterprises with any legacy OT footprint, this CVE should remain on the radar as part of EOL-host risk tracking — it's not zero-risk, just very low.

05 · Compensating Control

What to do — in priority order.

  1. Inventory and segment all EOL Windows hosts — Use asset discovery (Qualys, Tenable, Lansweeper) to find any surviving XP/2003/Vista/2008 hosts. Place them on isolated VLANs with deny-by-default firewall rules. This is the only meaningful control since the hosts cannot be patched to current OS levels. No mitigation SLA applies (LOW verdict) — treat as backlog hygiene.
  2. Disable interactive logon where possible — For XP Embedded kiosks and HMIs, restrict logon to service accounts only. Remove keyboard/USB HID access to prevent local exploitation. This reduces the local-access prerequisite to near-impossible.
  3. Plan OS migration for remaining EOL hosts — The real fix is decommissioning XP/2003/2008. Build a migration roadmap to Windows 10/11 or Server 2022. For OT hosts where migration requires hardware replacement, budget and schedule accordingly.
What doesn't work
  • Applying MS10-073 in 2026 — while the patch exists, deploying a single 2010-era patch to an EOL host that is missing 15 years of updates is security theater. The host has hundreds of other unpatched vulns. Patch one and you've moved from 'catastrophically vulnerable' to 'catastrophically vulnerable.'
  • EDR deployment — no major EDR vendor (CrowdStrike, SentinelOne, Microsoft Defender for Endpoint) supports Windows XP or Server 2003. You cannot instrument these hosts with modern detection.
  • Application whitelisting on XP — while theoretically possible, XP-era whitelisting tools (e.g., legacy AppLocker predecessors) are themselves unsupported and introduce additional attack surface.
06 · Verification

Crowdsourced verification payload.

Run this from an auditor workstation with network access to target hosts. Pass the target hostname as an argument: powershell -ExecutionPolicy Bypass -File .\Check-CVE-2010-2743.ps1 -ComputerName TARGET01. Requires WMI/WinRM access (domain admin or local admin credentials).

noisgate-verify.ps1
POWERSHELLREAD-ONLYSAFE
#Requires -Version 3.0
param(
    [Parameter(Mandatory=$true)]
    [string]$ComputerName
)

# Check-CVE-2010-2743.ps1
# Determines if a remote host is vulnerable to CVE-2010-2743 (MS10-073)
# Outputs: VULNERABLE / PATCHED / NOT_AFFECTED / UNKNOWN

try {
    $os = Get-WmiObject -Class Win32_OperatingSystem -ComputerName $ComputerName -ErrorAction Stop
    $caption = $os.Caption
    $version = [version]$os.Version

    # Only XP (5.1), Server 2003 (5.2), Vista/2008 (6.0), 7/2008R2 (6.1) are affected
    $affectedMajorMinor = @('5.1','5.2','6.0','6.1')
    $osKey = "$($version.Major).$($version.Minor)"

    if ($affectedMajorMinor -notcontains $osKey) {
        Write-Host "NOT_AFFECTED — $caption ($($os.Version)) is not in the affected OS range."
        exit 0
    }

    # Check for MS10-073 hotfix KB981957
    $hotfix = Get-WmiObject -Query "SELECT HotFixID FROM Win32_QuickFixEngineering WHERE HotFixID='KB981957'" -ComputerName $ComputerName -ErrorAction SilentlyContinue

    if ($hotfix) {
        Write-Host "PATCHED — $caption has KB981957 (MS10-073) installed."
        exit 0
    } else {
        # Double-check via win32k.sys file version (post-patch versions vary by OS)
        Write-Host "VULNERABLE — $caption ($($os.Version)) is in the affected range and KB981957 is NOT installed."
        Write-Host "NOTE: This host is running an END-OF-LIFE operating system with likely hundreds of other unpatched vulnerabilities."
        exit 1
    }
} catch {
    Write-Host "UNKNOWN — Could not connect to $ComputerName or retrieve OS info. Error: $($_.Exception.Message)"
    exit 2
}
07 · Bottom Line

If you remember one thing.

TL;DR
This is a 16-year-old local privilege escalation in operating systems that have been end-of-life for 5–16 years. For a modern enterprise fleet, the practical risk is near zero. No noisgate mitigation SLA applies at the LOW severity level — treat this as backlog hygiene. Your real action item for Monday morning is not patching this CVE; it is running an asset inventory sweep to confirm you have zero surviving XP/Server 2003/2008 hosts, and if you find any, escalating their OS migration as the remediation. If legacy OT or medical hosts surface, document them as accepted-risk exceptions with network segmentation validation. Under the noisgate remediation SLA for LOW findings, there is no hard deadline — log the finding, attach it to your EOL-host decommission program, and move on to vulnerabilities that threaten systems you actually run.

Sources

  1. NVD — CVE-2010-2743
  2. Microsoft Security Bulletin MS10-073
  3. Exploit-DB — MS10-073 Keyboard Layout Exploit (EDB-15985)
  4. Tenable Nessus Plugin 49950
  5. CVE Details — CVE-2010-2743
  6. Technical Analysis of Win32K.sys Stuxnet Exploit
  7. Enlyft — Windows XP Market Share
Peer Review

What defenders are saying.

Submit a review attribution: handle + country only
0 flags selected · stored anonymously
Validation Results

Crowdsourced verification outputs.

Results submitted by users who ran the verification payload against their environment.