Like leaving a master key in every employee's desk drawer — dangerous only if someone already broke into the office
CVE-2026-12518 is a local privilege escalation in the Logitech Logi Options+ updater service on Windows, affecting versions 1.88.0 through 2.6.x. The updater runs as NT AUTHORITY\SYSTEM and exposes a named pipe to coordinate with Logitech's background agent, which runs at the privilege level of the logged-in user. Researcher Jake Bolam of AmberWolf Research discovered that a standard user can manipulate their own instance of the agent process to relay commands to the updater, supply user-controlled file paths for installer payloads, and bypass certificate validation checks — chaining these three weaknesses to execute an arbitrary MSI as SYSTEM. The flaw was found in February 2026 in build 667932, reported on March 11, patched August 19, and publicly disclosed September 14.
Third-party CVSS 4.0 calculations place this at 8.5 HIGH, which maps to roughly 7.8 in CVSS 3.1 terms (AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H). That score is technically accurate for the local impact but contextually misleading for a 10,000-host fleet. The attack requires local code execution first — meaning an attacker who can run code on the workstation already. Logitech Options+ is a peripheral management tool installed exclusively on workstations and laptops; it does not appear on domain controllers, hypervisors, database servers, or any infrastructure tier. The blast radius is a single endpoint, and there is no public PoC, no KEV listing, and a rock-bottom EPSS of 0.11%. For most enterprises, this is a backlog-priority LPE on a subset of endpoints, not an emergency.
4 steps from start to impact.
Local foothold on a workstation
- Standard user shell or code execution on target host
- Logitech Logi Options+ (version 1.88.0 – 2.6.x) installed and updater service running
- Attacker must already have compromised the endpoint through a separate attack chain
- Logi Options+ is only present on endpoints with Logitech peripherals — not universally deployed across enterprise fleets
- EDR should flag the initial-access stage before LPE is attempted
Manipulate Logitech agent process
logioptionsplus_agent.exe) runs at the user's own privilege level and communicates with the SYSTEM-level updater service via a named pipe. The attacker manipulates their local instance of this agent — or spawns a crafted process that mimics its identity — to send commands to the updater. The updater trusts connections from the agent based on process-level checks that a same-session user can subvert.- Ability to interact with or inject into the Logitech agent process in the user's session
- Process-injection or manipulation may trigger EDR behavioral detections
- No public weaponized tooling or PoC simplifies this step
logioptionsplus_agent.exe and the updater serviceRedirect installer path and bypass certificate validation
- Write access to a local directory (any standard user has this via
%TEMP%or%APPDATA%) - Knowledge of the command structure accepted by the updater named pipe
- The named-pipe protocol and command structure have not been publicly documented outside AmberWolf's research
- Without a published PoC, an attacker must reverse-engineer the communication protocol independently
C:\Program Files\LogiOptionsPlus\)Arbitrary code execution as SYSTEM
NT AUTHORITY\SYSTEM privileges. The attacker now has full control of the local host: they can dump LSASS for credentials, disable security agents, install persistent backdoors, or pivot laterally. Impact is confined to the individual workstation.- Successful completion of steps 1–3
- SYSTEM access on a workstation is valuable but not fleet-scale — no direct domain or infrastructure compromise results
- Credential dumping from LSASS may be blocked by Credential Guard or PPL on modern Windows 11 builds
- EDR should detect post-exploitation activity (Mimikatz, service installation, etc.)
LogiOptionsPlus Updater service (Set-Service -Name 'LogiOptionsPlusUpdater' -StartupType Disabled -Status Stopped). This breaks the attack chain at step 2 by removing the SYSTEM-level named-pipe listener. Note: this also disables legitimate auto-updates, so track these hosts for manual patching. Residual risk drops substantially since the SYSTEM service is no longer reachable.logioptionsplus_agent.exe, (3) named-pipe connections to the updater from non-Logitech binaries. This provides detection-in-depth but does not prevent exploitation.- Network segmentation / firewall rules — This is a purely local privilege escalation with no network component. Network-layer controls have zero effect on the attack path.
- MFA / conditional access policies — The vulnerability exploits a local service trust relationship, not an authentication flow. MFA is irrelevant.
- Web application firewall (WAF) — No web-facing component is involved. WAFs provide no coverage.
- Restricting outbound internet access — The attack is entirely local and does not require internet connectivity to execute.
The supporting signals.
| In-the-Wild Exploitation | No known exploitation. Not listed in CISA KEV. No campaigns or threat-actor usage reported as of 2026-10-09. |
|---|---|
| Proof-of-Concept Availability | No public PoC found. Checked GitHub (no repos named CVE-2026-12518), pocindex.io (no results), ExploitDB, and nuclei templates. AmberWolf Research published a technical writeup but withheld exploit code. |
| EPSS Score | 0.00107 (0.11%) — 1.3th percentile. Extremely low predicted exploitation probability over the next 30 days. |
| CISA KEV Status | Not listed. No federal mandate for remediation timelines. |
| CVSS Assessment | Third-party CVSS 4.0: 8.5 HIGH (CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N). CVSS 3.1 equivalent: ~7.8 (AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H). No official vendor or NVD score published. |
| Affected Versions | Logitech Logi Options+ ≥ 1.88.0 and < 2.7.0 on Windows. All builds through 667932 are confirmed vulnerable. |
| Fixed Versions | 2.7.0 and later (specific builds: 2.7.954611 and 2.7.961922). Patch released August 19, 2026. Available via Logitech's download page and auto-update. |
| Scanning / Exposure Data | Not applicable for network scanning — this is a local-only vulnerability on endpoint software. GreyNoise/Shodan/Censys have no relevant data. Fleet exposure is determined by software inventory (SCCM, Intune, Tanium). |
| Disclosure Timeline | Discovered February 2026 · Reported to Logitech March 11 · Acknowledged March 25 · Patch released August 19 · Public disclosure September 14, 2026. |
| Researcher / Organization | Jake Bolam, AmberWolf Research. Discovered during analysis of Logi Options+ build 667932 on Windows 11. |
Sources.
- CyberInsider – Logitech Options+ flaw lets attackers gain Windows SYSTEM privileges
- SC World – Logitech Options+ vulnerability allows SYSTEM-level privilege escalation
- Strix.ai – CVE-2026-12518: Logi Options+ Privilege Escalation (CVSS 8.5)
- IT-Connect – Logitech Options+ CVE-2026-12518: SYSTEM Privilege Escalation
- OpenCVE – CVE-2026-12518 Vulnerability Details
- Offseq Threat Radar – CVE-2026-12518: CWE-269 Improper Privilege Management
- BetterBuyBase – Logi Options+ Vulnerability Fixed in Version 2.7
- Vulners / Rapid7 – CVE-2026-12518
Why this verdict
- Local-access prerequisite compresses real-world risk. AV:L means the attacker must already have code execution on the workstation. This is a post-initial-access primitive — the hardest part of the attack (getting on the box) is already done before this CVE becomes relevant. Every friction point in the initial-access chain compounds downward on effective severity.
- Software presence is not universal. Logitech Options+ is installed only on endpoints with Logitech peripherals (mice, keyboards, webcams). Enterprise adoption varies widely — estimated 15–30% of Windows endpoints in a typical fleet. The attacker must land on a host that happens to have this software, further narrowing the exploitable population.
- No public PoC or weaponization lowers near-term threat. EPSS is 0.11% (1.3th percentile), no KEV listing, no known campaigns, and AmberWolf withheld exploit code. An attacker would need to independently reverse-engineer the named-pipe protocol and command structure. This significantly raises the skill floor required for exploitation.
- Role multiplier: Logitech Options+ is canonically a workstation-only component. It is not deployed on domain controllers, hypervisors, CI/CD servers, database tiers, backup infrastructure, network edge appliances, or any high-value infrastructure role. ~100% of installations are on end-user workstations and laptops. The blast radius of successful exploitation is host-level only — SYSTEM on a single workstation. No high-value role overlap exists, so no verdict floor override applies.
- Post-exploitation value is real but bounded. SYSTEM on a workstation enables LSASS credential dumping (if Credential Guard is absent), EDR tampering, and persistence. This is a useful link in an attack chain but does not directly yield domain compromise, fleet-scale impact, or supply-chain access. Modern defenses (Credential Guard, PPL, EDR) further degrade the post-exploitation payoff.
Why not higher?
Upgrading to HIGH would require either a high-value deployment role (this software only lives on workstations), remote reachability (this is local-only), active exploitation evidence (none exists), or a public PoC lowering the barrier (none published). The raw CVSS 7.8 reflects accurate per-host impact but does not account for the local-access prerequisite, limited software footprint, or absence of weaponization — all of which materially reduce fleet-level risk for a 10,000-endpoint operation.
Why not lower?
Dropping to LOW would undervalue a clean, low-complexity LPE that requires no user interaction and grants the highest local privilege on Windows. Logitech peripherals are common enough in enterprises that a meaningful subset of endpoints (hundreds in a 10K fleet) will have Options+ installed. The chain from standard-user to SYSTEM is short and mechanically simple once the protocol is understood. If a PoC surfaces or an attacker reverses the pipe protocol independently, this becomes an attractive post-compromise tool with minimal effort.
Crowdsourced verification payload.
Run on each target Windows endpoint as any user (no admin required). Example: powershell -ExecutionPolicy Bypass -File .\Check-CVE-2026-12518.ps1. The script checks the installed Logi Options+ version against the known vulnerable range and prints VULNERABLE, PATCHED, or UNKNOWN.
#Requires -Version 5.1
<#
.SYNOPSIS
CVE-2026-12518 - Logitech Logi Options+ updater LPE version checker
.DESCRIPTION
Determines whether the installed Logi Options+ version is in the
vulnerable range (1.88.0 - 2.6.x). Outputs VULNERABLE / PATCHED / UNKNOWN.
Exit codes: 1 = VULNERABLE, 0 = PATCHED, 2 = UNKNOWN
#>
$ErrorActionPreference = 'SilentlyContinue'
# Search both 64-bit and 32-bit uninstall registry hives
$uninstallPaths = @(
'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*',
'HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*'
)
$logiApp = $null
foreach ($regPath in $uninstallPaths) {
$logiApp = Get-ItemProperty $regPath 2>$null |
Where-Object { $_.DisplayName -match 'Logi Options\+|LogiOptionsPlus' } |
Select-Object -First 1
if ($logiApp) { break }
}
if (-not $logiApp) {
# Fallback: check for the updater service directly
$svc = Get-Service -Name 'LogiOptionsPlus*' 2>$null
if (-not $svc) {
Write-Host 'UNKNOWN - Logitech Logi Options+ does not appear to be installed.'
exit 2
}
$wmiSvc = Get-WmiObject Win32_Service -Filter "Name LIKE 'LogiOptionsPlus%'" 2>$null
if ($wmiSvc -and $wmiSvc.PathName) {
$exePath = $wmiSvc.PathName.Trim('"')
$fileVer = (Get-Item $exePath 2>$null).VersionInfo.FileVersion
if ($fileVer) {
try { $installedVersion = [version]($fileVer -replace '[^0-9.]','') }
catch { }
}
}
if (-not $installedVersion) {
Write-Host 'UNKNOWN - Logi Options+ service found but version cannot be determined.'
exit 2
}
} else {
$verString = $logiApp.DisplayVersion
if (-not $verString) {
Write-Host 'UNKNOWN - Logi Options+ installed but DisplayVersion is empty.'
exit 2
}
try {
# Normalize: take major.minor.build (first 3 segments)
$segments = ($verString -replace '[^0-9.]','') -split '\.' | Select-Object -First 3
$installedVersion = [version]($segments -join '.')
} catch {
Write-Host "UNKNOWN - Cannot parse version string '$verString'."
exit 2
}
}
$fixedVersion = [version]'2.7.0'
$minAffected = [version]'1.88.0'
Write-Host "Detected Logi Options+ version: $installedVersion"
if ($installedVersion -ge $fixedVersion) {
Write-Host "PATCHED - Version $installedVersion >= 2.7.0. CVE-2026-12518 is remediated."
exit 0
} elseif ($installedVersion -ge $minAffected) {
Write-Host "VULNERABLE - Version $installedVersion is in affected range (1.88.0 - 2.6.x). Update to >= 2.7.0."
exit 1
} else {
Write-Host "UNKNOWN - Version $installedVersion is below known affected range. Manual review recommended."
exit 2
}