Back to Intelligence

CVE-2026-51990: Tencent Sogou Input Method Exploited to Deploy GrayRabbit Malware — Detection and Remediation Guide

SA
Security Arsenal Team
September 13, 2026
11 min read

Threat actors linked to a China-aligned espionage group are actively exploiting a critical vulnerability tracked as CVE-2026-51990 in Tencent's Sogou Input Method (Sogou Pinyin) for Windows to deliver a previously undocumented backdoor dubbed GrayRabbit. This is not a theoretical risk — exploitation is confirmed in the wild, and the targeting profile (espionage-driven, low-and-slow intrusion tradecraft) means many victims will not know they are compromised until long after initial access.

If your environment includes Chinese-language users, regional offices, contractors, or executives who type in Chinese on Windows workstations, you almost certainly have Sogou Input Method somewhere in your asset inventory — whether you sanctioned it or not. Input method editors (IMEs) run with deep OS integration and elevated privileges by design, which makes them an exceptionally attractive initial-access vector: compromise the IME, and you inherit its trust, its persistence, and its visibility into everything the user types — including credentials.

This post breaks down the attack chain, provides production-ready detection content (Sigma, KQL, VQL), and gives you a concrete remediation path.

Technical Analysis

Affected Product

  • Product: Tencent Sogou Input Method (Sogou Pinyin / 搜狗输入法)
  • Platform: Microsoft Windows (desktop and server builds where the IME is installed)
  • Vulnerability: CVE-2026-51990 — a critical flaw in the Sogou Input Method's update/communication handling that allows attackers to redirect the application's trusted network logic to retrieve and execute attacker-controlled payloads
  • Exploitation status: Confirmed active in-the-wild exploitation by a China-aligned espionage threat group. Treat this as an exploited vulnerability with KEV-urgency handling regardless of formal CISA KEV listing status — do not wait for a KEV entry to act.

Why an IME Is a High-Value Target

Input method editors are not ordinary applications. Architecturally, an IME:

  1. Hooks every keystroke system-wide via the Windows Text Services Framework (TSF).
  2. Runs in the context of every interactive session, often with components registered as system-level services or running under privileged accounts.
  3. Maintains persistent outbound network connectivity for cloud-based word prediction, dictionary sync, and auto-update functionality — a built-in, 'expected' C2-like channel that blends into baseline traffic.
  4. Auto-updates from vendor infrastructure, meaning its updater is a trusted code-execution pathway that defenders rarely scrutinize.

Attack Chain

Based on the reported campaign, the intrusion flow is:

  1. Initial vector: The threat actors abuse CVE-2026-51990 in Sogou Input Method's network-facing component. The flaw allows the attacker to subvert the application's trusted update/communication mechanism — effectively turning the IME's own legitimate outbound channel into a delivery pipeline for malicious code.
  2. Payload delivery: The abused mechanism fetches and stages the GrayRabbit backdoor. Because the delivery rides on a signed, whitelisted vendor process, traditional application-control and AV trust models give it a free pass.
  3. Establishment of GrayRabbit: GrayRabbit is deployed as an unauthorized remote access mechanism, providing the operators with persistent command execution, data staging, and exfiltration capability consistent with espionage objectives (collection over disruption).
  4. Post-compromise: Expect classic APT post-exploitation behavior — credential access, internal reconnaissance, and low-volume exfiltration designed to evade volume-based alerting.

Defender's Key Takeaway

The critical detection insight: the malicious behavior originates from or is proxied through Sogou Input Method processes. Your highest-fidelity detection surface is child-process lineage, module loads, and network destinations tied to Sogou binaries (commonly SogouPY.exe, SogouCloud.exe, SGTool.exe, and SogouExe.exe, typically under C:\Program Files (x86)\SogouInput\ or versioned subdirectories) doing things an IME has no business doing — spawning shells, writing executables to user-writable directories, or beaconing to non-Tencent infrastructure.

Detection & Response

Sigma Rules

The following rules target the observable behaviors of this campaign: Sogou IME processes spawning script interpreters or system utilities, and Sogou binaries making network connections to non-vendor infrastructure. Tune the vendor domain allowlist to your telemetry before deployment.

YAML
---
title: Sogou Input Method Process Spawning Command Shell or Script Interpreter
id: 3f8c1a72-5b94-4e21-9d6c-8a7f2e1b4c55
status: experimental
description: Detects Sogou Input Method components spawning cmd, PowerShell, wscript, rundll32, or mshta — consistent with CVE-2026-51990 exploitation delivering the GrayRabbit backdoor via the IME's trusted process context.
references:
  - https://www.bleepingcomputer.com/news/security/hackers-exploit-tencent-app-flaw-to-deploy-grayrabbit-malware/
  - https://attack.mitre.org/techniques/T1059/
author: Security Arsenal
date: 2026/05/14
tags:
  - attack.execution
  - attack.t1059
  - attack.defense_evasion
logsource:
  category: process_creation
  product: windows
detection:
  selection_parent:
    ParentImage|contains:
      - '\SogouInput\'
      - '\SogouPY.exe'
      - '\SogouCloud.exe'
      - '\SGTool.exe'
      - '\SogouExe.exe'
  selection_child:
    Image|endswith:
      - '\cmd.exe'
      - '\powershell.exe'
      - '\pwsh.exe'
      - '\wscript.exe'
      - '\cscript.exe'
      - '\rundll32.exe'
      - '\mshta.exe'
      - '\regsvr32.exe'
  condition: selection_parent and selection_child
falsepositives:
  - Rare legitimate Sogou component behavior — verify against vendor update cycles
level: high
---
title: Sogou Input Method Dropping Executable to User-Writable Path
id: 91d2e4b6-3c47-4a58-b1f9-6e8d0a5c7f22
status: experimental
description: Detects Sogou IME processes writing PE files to user-writable directories (AppData, Temp, ProgramData), consistent with GrayRabbit staging behavior following CVE-2026-51990 exploitation.
references:
  - https://www.bleepingcomputer.com/news/security/hackers-exploit-tencent-app-flaw-to-deploy-grayrabbit-malware/
  - https://attack.mitre.org/techniques/T1105/
author: Security Arsenal
date: 2026/05/14
tags:
  - attack.command_and_control
  - attack.t1105
logsource:
  category: file_event
  product: windows
detection:
  selection_image:
    Image|contains:
      - '\SogouInput\'
      - '\SogouPY.exe'
      - '\SogouCloud.exe'
      - '\SGTool.exe'
  selection_path:
    TargetFilename|contains:
      - '\AppData\'
      - '\Temp\'
      - '\ProgramData\'
  selection_ext:
    TargetFilename|endswith:
      - '.exe'
      - '.dll'
  condition: selection_image and selection_path and selection_ext
falsepositives:
  - Sogou self-update writing components to ProgramData — correlate with official update windows and validate hashes against vendor-signed binaries
level: medium
---
title: Sogou Input Method Network Connection to Non-Vendor Infrastructure
id: c47a2f18-8e63-4d05-a3b1-2f9e6d4c8a77
status: experimental
description: Detects Sogou IME processes establishing outbound connections to rare or non-Tencent destinations — potential GrayRabbit C2 channel proxied through the IME's trusted network context. Requires tuning of known Sogou/Tencent CDN ranges.
references:
  - https://www.bleepingcomputer.com/news/security/hackers-exploit-tencent-app-flaw-to-deploy-grayrabbit-malware/
  - https://attack.mitre.org/techniques/T1071/
author: Security Arsenal
date: 2026/05/14
tags:
  - attack.command_and_control
  - attack.t1071.001
logsource:
  category: network_connection
  product: windows
detection:
  selection:
    Image|contains:
      - '\SogouInput\'
      - '\SogouPY.exe'
      - '\SogouCloud.exe'
      - '\SGTool.exe'
  filter_vendors:
    DestinationHostname|contains:
      - '.sogou.com'
      - '.sogoucdn.com'
      - '.tencent.com'
      - '.qq.com'
  condition: selection and not filter_vendors
falsepositives:
  - Sogou cloud prediction and dictionary sync hitting third-party CDNs — build a baseline of observed destinations before raising severity
level: medium

KQL — Microsoft Sentinel / Defender

This hunt query correlates Sogou IME process lineage with suspicious child processes and outbound connections, and separately surfaces unsigned/oddly-located Sogou-named binaries (a common masquerade pattern when attackers stage payloads under trusted names).

KQL — Microsoft Sentinel / Defender
// Hunt 1: Sogou IME processes spawning suspicious children (GrayRabbit staging)
let sogouProc = dynamic(["sogoupy.exe","sogoucloud.exe","sgtool.exe","sogouexe.exe"]);
let suspiciousChildren = dynamic(["cmd.exe","powershell.exe","pwsh.exe","wscript.exe","cscript.exe","rundll32.exe","mshta.exe","regsvr32.exe","bitsadmin.exe","certutil.exe"]);
DeviceProcessEvents
| where TimeGenerated > ago(14d)
| where InitiatingProcessFileName has_any (sogouProc)
   or InitiatingProcessFolderPath has "SogouInput"
| where FileName has_any (suspiciousChildren)
| project TimeGenerated, DeviceName, AccountName,
          ParentProcess = InitiatingProcessFileName,
          ParentCmdLine = InitiatingProcessCommandLine,
          ChildProcess = FileName,
          ChildCmdLine = ProcessCommandLine,
          SHA256, FolderPath
| order by TimeGenerated desc;

// Hunt 2: Sogou-named binaries executing from non-standard paths or unsigned
DeviceProcessEvents
| where TimeGenerated > ago(14d)
| where FileName has_any (dynamic(["sogoupy.exe","sogoucloud.exe","sgtool.exe","sogouexe.exe"]))
| where FolderPath !has "SogouInput"
| join kind=leftouter (
    DeviceFileCertificateInfo
    | where TimeGenerated > ago(14d)
    | summarize arg_max(TimeGenerated, IsSigned, Signer) by SHA1
) on $left.SHA1 == $right.SHA1
| project TimeGenerated, DeviceName, FolderPath, FileName, ProcessCommandLine, IsSigned, Signer
| order by TimeGenerated desc;

// Hunt 3: Sogou processes beaconing to rare network destinations
DeviceNetworkEvents
| where TimeGenerated > ago(14d)
| where InitiatingProcessFileName has_any (dynamic(["sogoupy.exe","sogoucloud.exe","sgtool.exe","sogouexe.exe"]))
   or InitiatingProcessFolderPath has "SogouInput"
| where isnotempty(RemoteUrl)
| where RemoteUrl !has_any (dynamic(["sogou.com","sogoucdn.com","tencent.com","qq.com"]))
| summarize ConnectionCount = count(), FirstSeen = min(TimeGenerated), LastSeen = max(TimeGenerated)
          by RemoteUrl, RemoteIP, RemotePort, DeviceName, InitiatingProcessFileName
| order by ConnectionCount asc;

Velociraptor VQL

Use this artifact to sweep your fleet for Sogou IME processes exhibiting exploitation-consistent behavior — unexpected command lines, anomalous module paths, and active network connections.

VQL — Velociraptor
-- Hunt: Sogou IME process execution and network artifacts (GrayRabbit / CVE-2026-51990)
SELECT Pid, Ppid, Name, Exe, CommandLine, Username, CreateTime
FROM pslist()
WHERE Name =~ '(?i)sogou|sgtool'
   OR Exe =~ '(?i)SogouInput'

-- Follow-up: enumerate network connections held by Sogou processes
SELECT Pid, Name, Family, Type, Status,
       Laddr, Lport, Raddr, Rport
FROM netstat()
WHERE Name =~ '(?i)sogou|sgtool'

-- Follow-up: enumerate recently created executables/DLLs in Sogou install and staging dirs
SELECT FullPath, Size, Mtime, Ctime
FROM glob(globs=[
  'C:/Program Files*/SogouInput/**',
  'C:/Users/*/AppData/**/*.exe',
  'C:/ProgramData/**/*.dll'
])
WHERE Mtime > now() - 1209600
ORDER BY Mtime DESC

Remediation / Verification Script

Run this PowerShell (as Administrator, or via your RMM/Intune) to inventory Sogou installations, check installed versions, flag anomalous child processes, and — if your policy permits — remove the IME pending a patched release. Review before executing removal logic in production.

PowerShell
# CVE-2026-51990 - Sogou Input Method exposure audit and remediation aid
$ErrorActionPreference = 'SilentlyContinue'

Write-Host "=== Sogou Input Method Exposure Audit ===" -ForegroundColor Cyan

# 1. Inventory installed Sogou products via registry uninstall keys
$paths = @('HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*',
           'HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*')
$sogouApps = Get-ItemProperty $paths | Where-Object { $_.DisplayName -match 'Sogou|搜狗' } |
             Select-Object DisplayName, DisplayVersion, InstallLocation, Publisher
if ($sogouApps) {
    Write-Host "[!] Sogou Input Method detected on this host:" -ForegroundColor Yellow
    $sogouApps | Format-Table -AutoSize
    Write-Host "[!] Verify installed version against Tencent's patched release for CVE-2026-51990." -ForegroundColor Yellow
} else {
    Write-Host "[+] No Sogou Input Method installation found via uninstall registry." -ForegroundColor Green
}

# 2. Detect running Sogou processes and flag suspicious child processes
$sogouProcs = Get-Process | Where-Object { $_.Name -match 'sogou|sgtool' }
if ($sogouProcs) {
    Write-Host "[!] Active Sogou processes:" -ForegroundColor Yellow
    $sogouProcs | Select-Object Id, Name, Path | Format-Table -AutoSize
    foreach ($p in $sogouProcs) {
        Get-CimInstance Win32_Process -Filter "ParentProcessId = $($p.Id)" |
            Where-Object { $_.Name -match 'cmd|powershell|wscript|cscript|rundll32|mshta|regsvr32' } |
            ForEach-Object {
                Write-Host "[ALERT] Sogou process $($p.Name) (PID $($p.Id)) spawned suspicious child: $($_.Name) :: $($_.CommandLine)" -ForegroundColor Red
            }
    }
}

# 3. List recent network connections from Sogou processes for review
$sogouProcs | ForEach-Object {
    Get-NetTCPConnection -OwningProcess $_.Id -State Established |
        Select-Object LocalAddress, LocalPort, RemoteAddress, RemotePort, OwningProcess
} | Sort-Object -Unique | Format-Table -AutoSize

# 4. OPTIONAL: Block Sogou binaries at the firewall pending patch validation
# Uncomment only after change-control approval.
# Get-ChildItem 'C:\Program Files (x86)\SogouInput' -Recurse -Filter *.exe | ForEach-Object {
#     New-NetFirewallRule -DisplayName "BLOCK-Sogou-CVE-2026-51990-$($_.BaseName)" `
#         -Direction Outbound -Program $_.FullName -Action Block | Out-Null
# }
# Write-Host "Outbound firewall blocks applied to Sogou binaries." -ForegroundColor Yellow

# 5. OPTIONAL: Uninstall (validate against your software policy first)
# $sogouApps | ForEach-Object {
#     if ($_.PSObject.Properties['UninstallString']) { Start-Process cmd -ArgumentList "/c $($_.UninstallString) /S" -Wait }
# }

Remediation

  1. Inventory first. You cannot patch what you have not found. Sweep your estate (Intune, SCCM, your EDR's software inventory, or the script above) for Sogou Input Method — including per-user installs, which frequently bypass traditional asset management. Include contractor laptops and BYOD-adjacent VDI images.

  2. Update immediately. Apply Tencent's patched release addressing CVE-2026-51990 as soon as it is validated in your environment. Pull updates only from Tencent's official Sogou distribution channels — given that this campaign abuses the update mechanism itself, do not trust update prompts observed on endpoints that may already be compromised. Monitor the vendor advisory and the original reporting at the source URL for fixed-version details.

  3. If you do not have a business requirement for Sogou, remove it. An IME with a confirmed in-the-wild exploited CVE is a liability, not an asset. Windows ships with Microsoft Pinyin for Chinese input — it covers the legitimate user need without the third-party attack surface. This is the single most effective remediation for most organizations.

  4. If removal is not an option, contain it:

    • Apply outbound firewall rules restricting Sogou binaries to known-vendor domains/IPs only (see the commented firewall section of the script above).
    • Enforce application control (WDAC/AppLocker) policies that block unsigned or non-vendor-path executables named to masquerade as Sogou components.
    • Disable the IME's cloud-sync and auto-update features where the product permits, reducing the abuse surface of the vulnerable communication channel.
  5. Hunt for GrayRabbit retroactively. A patched endpoint may already be compromised — patching closes the door but does not evict the intruder. Run the Sigma/KQL/VQL content above against a minimum of 30 days of historical telemetry. Any Sogou process spawning a shell or writing PE files to AppData before your patch date is an IR ticket, not a tuning note.

  6. Assume espionage dwell time. China-aligned intrusion sets are patient. If you confirm exploitation, extend scoping beyond the initially affected host: review authentication logs for anomalous sessions from the user's accounts, check for newly created local/domain accounts, and inspect scheduled tasks, services, and Run keys for persistence established while the attacker had access.

  7. Escalate to your IR retainer if you find GrayRabbit artifacts. Backdoor removal plus patching is not full remediation against a motivated APT — memory forensics and lateral-movement analysis are warranted. This is exactly the engagement profile where a DFIR partner pays for itself.

Category

vulnerability-management

Related Resources

Security Arsenal Managed SOC Services AlertMonitor Platform Book a SOC Assessment soc-mdr Intel Hub

Is your security operations ready?

Get a free SOC assessment or see how AlertMonitor cuts through alert noise with automated triage.