Your keyboard software's update service will run anything you hand it, as SYSTEM, no questions asked
CVE-2026-12518 is a local privilege escalation in the Logitech Logi Options+ updater service on Windows. Versions >= 1.88.0 and < 2.7.0 are affected. The updater runs as NT AUTHORITY\SYSTEM and is supposed to only accept commands from Logitech's trusted background agent — but a standard user can manipulate their own instance of that agent to relay commands to the service. The updater also accepts user-controlled path values for installation files and skips certificate validation on one of its privileged installation routines. Chain those three together and a standard-privilege local user drops a malicious MSI in a writable directory, redirects the updater to it, and gets code execution as SYSTEM. Discovered by Jake Bolam of AmberWolf Research in February 2026, patched August 19 in builds 2.7.954611 and 2.7.961922, publicly disclosed September 14.
The calculated CVSS 4.0 vector scores 8.5 HIGH (AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N), which accurately reflects the *technical* chain: low complexity, no interaction, standard-user to SYSTEM. But that score ignores deployment context entirely. Logi Options+ is a workstation peripheral management tool for Logitech mice and keyboards. It does not run on domain controllers, hypervisors, CI/CD infrastructure, or backup servers. The blast radius is strictly one host with no scope change. Requiring local access means the attacker is already past initial access — this is a post-compromise amplifier, not an entry point. A MEDIUM assessment better reflects the real enterprise risk.
4 steps from start to impact.
Obtain local standard-user shell
- Local code execution on target host
- Logi Options+ installed in vulnerable version range
- Attacker must have already achieved initial access — this is not a remote entry point
- Target must actually have Logi Options+ installed; it's not a Windows default component
Hijack the trusted Logitech agent process
- Standard user privileges
- Logitech agent process running in user session
- Some EDR products flag process injection or unusual IPC patterns in user-session processes
- Corporate lockdown policies (AppLocker/WDAC) may restrict ability to manipulate the agent
Redirect updater to attacker-controlled path
%TEMP% or %APPDATA%) instead of Logitech's official update folder. The updater service accepts this path without validating that it points to a Logitech-sanctioned location.- Successful agent hijack from Step 2
- Write access to any local directory
- Minimal friction — any standard user has writable directories available
Drop malicious MSI and achieve SYSTEM execution
NT AUTHORITY\SYSTEM.- Malicious MSI staged in writable directory
- Updater successfully redirected in Step 3
- Some EDR products will flag unsigned MSI execution by a SYSTEM-level service
- Windows Defender Application Control (WDAC) in enforce mode blocks unsigned installers regardless of invoking process
The supporting signals.
| In-the-Wild Exploitation | No known exploitation in the wild. No campaigns or threat actor usage reported as of 2026-09-16. |
|---|---|
| KEV Status | Not listed on CISA KEV catalog. |
| EPSS | 0.00107 (0.1%, bottom tier) — negligible predicted exploitation probability in the next 30 days. |
| Proof-of-Concept | No standalone public PoC tool identified. AmberWolf Research published a detailed technical writeup ("A Peripheral Path to System") on blog.amberwolf.com on September 14, 2026, describing the full chain. The writeup provides enough detail for a skilled attacker to reproduce. |
| CVSS 4.0 Vector | 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 — 8.5 HIGH. Local vector, no scope change, full CIA impact on the local host only. |
| Affected Versions | Logi Options+ >= 1.88.0 and < 2.7.0 on Windows. Build 667932 was the tested version. |
| Fixed Versions | Builds 2.7.954611 and 2.7.961922, released August 19, 2026. |
| Exposure Data | Logi Options+ is a client-side workstation application with no network-facing service. Not indexed by Shodan/Censys/GreyNoise. Installed base estimated at millions of endpoints globally; enterprise prevalence depends on Logitech peripheral adoption (common in corporate environments via Intune/SCCM deployment). |
| Disclosure Timeline | February 2026 discovery → March 11 vendor report → March 25 vendor acknowledgment → August 19 patch release → September 14 public disclosure. |
| Researcher | Jake Bolam, AmberWolf Research. |
noisgate verdict.
The single most decisive factor is deployment context: Logi Options+ is exclusively a workstation peripheral utility with local-only attack surface and single-host blast radius, with no scope change. The LPE chain is technically clean but functions only as a post-compromise amplifier — the attacker must already have local code execution before this vulnerability becomes relevant.
Why this verdict
- Local access prerequisite: AV:L means the attacker is already past initial access. This is a post-compromise amplifier, not an entry point. Every host in the chain requires a separate prior compromise.
- Single-host blast radius, no scope change: SYSTEM on one workstation is valuable to an attacker but does not directly propagate. The CVSS vector explicitly shows SC:N/SI:N/SA:N — no impact beyond the compromised host.
- Role multiplier: negligible. Logi Options+ is deployed on *workstations* for peripheral management. It is never installed on domain controllers, hypervisors, CI/CD servers, backup infrastructure, or network edge appliances. 100% of the installed base occupies low-value or typical-value workstation roles. There is no high-value-role deployment scenario where this component's compromise leads to domain/fleet/supply-chain impact. The blast radius floor does not apply.
- No exploitation pressure: Not KEV-listed, EPSS at 0.1%, no known campaigns, no standalone PoC tool. The detailed writeup enables reproduction but the local-only prerequisite limits mass exploitation.
- Patch already available for 28 days: Builds 2.7.954611/961922 have been shipping since August 19. The window for opportunistic exploitation against unpatched endpoints is narrowing.
Why not higher?
The CVSS 4.0 vector calculates to 8.5 HIGH, but that score reflects the mechanical chain quality without deployment context. Logi Options+ never occupies a high-value infrastructure role — it manages mice and keyboards. There is no scope change, no remote attack surface, no in-the-wild exploitation, and no KEV listing. Upgrading to HIGH would overstate the enterprise risk of a local-only workstation peripheral tool.
Why not lower?
The chain is genuinely low-friction once local access is obtained: no admin rights needed, no user interaction, no race conditions, and the certificate bypass means the attacker's payload doesn't need signing. A detailed technical writeup from AmberWolf provides enough information for skilled operators to reproduce. This is a real and usable LPE that red teams will adopt — LOW would understate the practical utility for post-compromise operations.
What to do — in priority order.
- Inventory and patch Logi Options+ via Intune/SCCM — Push builds 2.7.954611+ to all managed Windows endpoints. This is the definitive fix. Since the noisgate verdict is MEDIUM, there is no mitigation SLA — target remediation within the 365-day window, but given the patch is already available and deployment is straightforward, aim to include it in your next scheduled software update cycle.
- Enable WDAC or AppLocker MSI enforcement — Windows Defender Application Control in enforce mode blocks unsigned MSI execution regardless of the invoking process, which breaks Step 4 of the chain. This is useful as defense-in-depth even after patching.
- Monitor Logitech updater child processes via EDR — Create a detection rule for the Logi Options+ updater service (
LogiOptionsUpdater.exeor similar) spawning unexpected child processes, especiallymsiexec.exewith non-Logitech MSI paths. This catches exploitation attempts. - Restrict Logi Options+ to users who need it — If your peripheral fleet doesn't require Options+ features (gesture controls, Flow, per-app settings), uninstall it entirely. Logitech peripherals work with basic HID drivers. Reducing the installed base eliminates the attack surface.
- Network segmentation / firewall rules — This is a local privilege escalation with no network component. Network controls are irrelevant to the attack chain.
- MFA / credential policies — The vulnerability requires local code execution, not credential theft. Stronger authentication doesn't prevent exploitation once the attacker has a shell.
- Disabling the Logitech updater service alone — While stopping the service prevents the specific chain, it also breaks legitimate update functionality, leaving the software permanently unpatched for future vulnerabilities. Patching is the correct fix.
Crowdsourced verification payload.
Run on each target Windows host with standard user privileges. Example: powershell -ExecutionPolicy Bypass -File .\Check-CVE-2026-12518.ps1. No admin rights required — the script only reads installed software metadata.
# Check-CVE-2026-12518.ps1
# Checks whether Logitech Logi Options+ is installed and vulnerable to CVE-2026-12518
# Vulnerable: >= 1.88.0 and < 2.7.0
# Outputs: VULNERABLE / PATCHED / UNKNOWN
$ErrorActionPreference = 'Stop'
$exitCode = 2 # UNKNOWN default
try {
# Search both 64-bit and 32-bit uninstall registry hives
$regPaths = @(
'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*',
'HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*'
)
$logiApp = $null
foreach ($path in $regPaths) {
$logiApp = Get-ItemProperty -Path $path -ErrorAction SilentlyContinue |
Where-Object { $_.DisplayName -like '*Logi Options*' -or $_.DisplayName -like '*LogiOptions*' } |
Select-Object -First 1
if ($logiApp) { break }
}
if (-not $logiApp) {
Write-Host 'UNKNOWN - Logi Options+ not found on this system.'
exit 2
}
$rawVersion = $logiApp.DisplayVersion
if (-not $rawVersion) {
Write-Host "UNKNOWN - Logi Options+ found but version string is empty."
exit 2
}
Write-Host "Detected Logi Options+ version: $rawVersion"
# Parse version - handle both semantic (2.7.0) and build (2.7.954611) formats
$parts = $rawVersion.Split('.')
$major = [int]$parts[0]
$minor = [int]$parts[1]
# Vulnerable: >= 1.88.0 and < 2.7.0
$vulnerable = $false
if ($major -eq 1 -and $minor -ge 88) {
$vulnerable = $true
} elseif ($major -eq 2 -and $minor -lt 7) {
$vulnerable = $true
}
if ($vulnerable) {
Write-Host "VULNERABLE - Logi Options+ $rawVersion is in the affected range (>= 1.88.0, < 2.7.0). Update to 2.7.954611 or later."
$exitCode = 1
} else {
Write-Host "PATCHED - Logi Options+ $rawVersion is outside the vulnerable range."
$exitCode = 0
}
} catch {
Write-Host "UNKNOWN - Error during check: $_"
$exitCode = 2
}
exit $exitCodeIf you remember one thing.
Sources
- CyberInsider – Logitech Options+ flaw lets attackers gain Windows SYSTEM privileges
- IT-Connect – Logitech Options+ CVE-2026-12518: SYSTEM Privilege Escalation
- OffSeq Threat Radar – CVE-2026-12518 Intelligence
- Strix.ai – CVE-2026-12518 CVSS Analysis
- VulDB – CVE-2026-12518
- AmberWolf Research Blog
- Logitech Logi Options+ Security Whitepaper
What defenders are saying.
Crowdsourced verification outputs.
Results submitted by users who ran the verification payload against their environment.