← Back to Feed CACHED · 2026-06-29 11:15:00 · CACHE_KEY CVE-2026-13534
CVE-2026-13534 · CWE-285 · Disclosed 2026-06-29

A vulnerability was detected in CherryHQ cherry-studio up to 1

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

A lock on the diary in a one-person bedroom — and the diary is being thrown out next quarter

CVE-2026-13534 is an improper-authorization flaw in the sha256 function inside src/main/services/memory/MemoryService.ts, part of the CherryIN Preload API in CherryHQ cherry-studio versions 1.9.0 through 1.9.7. By manipulating the state argument, a caller with low privileges can bypass an authorization check guarding the memory service. The exploit is public, but attack complexity is rated *High* and the impact triad is C:L/I:L/A:L — limited disclosure or tampering of stored AI memory entries, not code execution or privilege escalation.

Vendor labeled this MEDIUM (5.0) under CVSS:3.1 AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:L. That label is inflated for the deployment reality. Cherry Studio is an Electron-based *desktop* AI productivity client — there is no multi-tenant server, the 'network' attack vector is the local IPC/preload surface, and the affected feature is being removed entirely in v2. For an enterprise managing 10,000 hosts, this is workstation-class backlog hygiene, not an incident.

"Authorization bypass in a single-user desktop AI client. Blast radius ends at the local user's memory store. Vendor is removing the feature in v2."
02 · The Attack Path

3 steps from start to impact.

STEP 01

Attacker obtains low-privilege code execution path into Cherry Studio's renderer/preload boundary

The flaw lives behind the CherryIN Preload API, which is reachable from the renderer process. To weaponize, the attacker needs JS execution inside a Cherry Studio window — typically via a malicious plugin/assistant config, a crafted chat artifact rendered in the app, or a compromised dependency. There is no remote network listener.
Conditions required:
  • Victim has Cherry Studio 1.9.0–1.9.7 installed and running
  • Attacker can deliver content rendered by the app (malicious assistant template, MCP plugin, or pasted artifact)
Where this breaks in practice:
  • No exposed network port; pure desktop app
  • Most enterprises do not deploy Cherry Studio fleet-wide — it is end-user-installed
  • Electron context isolation limits arbitrary renderer→main calls
Detection/coverage: EDR will not flag the IPC call; no Sigma/Snort rule exists. App-level telemetry is the only signal.
STEP 02

Manipulate state argument to bypass authorization in sha256 flow

The exploit, per the public PoC referenced in GitHub issue #15411 and PR #15413, crafts a state value that fails the equality/authorization check in MemoryService.ts while still routing into the protected handler. The sha256 comparison is the gate.
Conditions required:
  • Renderer-side JS execution achieved in step 1
  • Knowledge of the state parameter format (public PoC documents it)
Where this breaks in practice:
  • Attack complexity rated High by NVD — non-trivial state-shape requirements
  • Vendor has already merged the fix in PR #15413
Detection/coverage: No scanner coverage; SCA tools that fingerprint Electron app versions (e.g., Tanium, Nexthink) will flag the vulnerable build.
STEP 03

Read or tamper with the local memory store

Authorization bypass grants access to memory entries — stored chat memories, possibly assistant configuration. Impact is C:L/I:L/A:L: partial disclosure or modification of the *current user's* memory blob on disk. No SYSTEM/root escalation, no lateral movement primitive.
Conditions required:
  • Step 2 succeeded
  • User has populated meaningful data in Cherry Studio memory
Where this breaks in practice:
  • Memory feature is opt-in
  • Vendor announced memory is being removed in v2 — feature will disappear
  • Blast radius bounded to the single OS user account running the app
Detection/coverage: File integrity monitoring on the app's userData directory would catch tampering, but is rarely deployed for end-user AI tools.
03 · Intelligence Metadata

The supporting signals.

In-the-wild exploitationNone observed. No CISA KEV listing, no vendor IR notice, no public campaign telemetry.
Proof-of-conceptPublic PoC referenced via GitHub issue #15411 and patch PR #15413. VulDB entry documents the state-manipulation technique.
EPSSNot yet scored at disclosure (≤0.05 expected — desktop app, no remote listener).
KEV statusNot listed.
CVSS vectorCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:L → 5.0 MEDIUM. AV:N is generous; the real vector is closer to a *local* IPC surface.
Affected versionsCherryHQ cherry-studio 1.9.0 – 1.9.7 inclusive.
Fixed versionPatch merged in PR #15413; install the latest 1.9.x release or upgrade to v2 when available. Feature is slated for removal in v2.
Exposure dataNo Shodan/Censys/GreyNoise signal — Cherry Studio is a desktop client and does not expose a listener. GitHub stars (~20k) indicate broad individual use but no enterprise telemetry.
Disclosure2026-06-29 via VulDB / CIRCL Vulnerability-Lookup.
ReporterVulDB-coordinated disclosure; reporter handle not published in the public advisory.
04 · The Call

noisgate verdict.

Final Verdict
DOWNGRADED to LOW (3.2/10)

The single decisive factor is blast radius limited to one local user's memory store on an end-user desktop AI client with no network listener and no privilege escalation primitive. CVSS:3.1's AV:N label is technically defensible against the preload-IPC surface but overstates the real exposure for an enterprise fleet.

HIGH Severity downgrade to LOW
HIGH Absence of in-the-wild exploitation
MEDIUM Enterprise installed-base footprint (Cherry Studio is end-user-installed, not centrally managed)

Why this verdict

  • Desktop, not server: Cherry Studio is an Electron app with no network listener. AV:N describes preload IPC, not internet reachability — empirical exposure population is effectively the count of installed clients with a rendered malicious payload, not a scannable attack surface.
  • Impact triad is uniformly Low: C:L/I:L/A:L means partial disclosure or partial tamper of memory entries — no RCE, no SYSTEM, no credential theft primitive, no lateral movement.
  • Attack complexity High + PR:L: A foothold inside the renderer is already required. Anyone who has that has easier and more impactful paths (token theft from the same userData dir, for example).
  • Role multiplier — none: Cherry Studio occupies the *low-value-role* slot universally. It is not an IdP, hypervisor, EDR, CA, CI/CD node, or backup admin. There is no high-value-role deployment of this product, so the role-multiplier floor does not apply.
  • Vendor sunsetting the feature: Memory is slated for removal in v2 — the affected code path has a known short remaining lifespan.

Why not higher?

MEDIUM would require either a credible chain to code execution or a high-value-role deployment of the affected component. Neither exists: impact stays at C:L/I:L/A:L, the product is a single-user desktop client, and no fleet-scale or identity-scale outcome is reachable. Raising to HIGH/CRITICAL would require active exploitation or a backup/identity/hypervisor pivot — none present.

Why not lower?

IGNORE is wrong because a public PoC exists, the vulnerable versions are in active use, and the patch is real. Defenders with Cherry Studio in their software inventory should still move it onto a normal backlog refresh — it just does not warrant emergency action.

05 · Compensating Control

What to do — in priority order.

  1. Upgrade Cherry Studio to the patched release — Pull the post-PR-15413 release from GitHub and push via your endpoint software-management channel (Intune, Jamf, Chocolatey, winget). LOW verdict → no mitigation SLA; align with the noisgate remediation SLA of ≤ 365 days, but bundle into the next normal app-update cycle.
  2. Inventory Cherry Studio installs across the fleet — Run an SBOM or software-inventory sweep (Tanium, Intune, osquery apps table on macOS, Get-Package on Windows) to scope how many hosts actually have 1.9.0–1.9.7. Most enterprises will find a long tail in engineering/AI-research teams. Complete the sweep before the 365-day window starts ticking.
  3. Disable the Memory feature in policy until upgraded — If your endpoint config management supports app config push, set the memory feature off in user preferences. Removes the vulnerable code path from runtime without uninstalling.
  4. Restrict installation of third-party AI assistant plugins/MCP servers — The realistic delivery vehicle is a malicious assistant template or plugin. Constrain plugin sources to a vetted internal allowlist.
What doesn't work
  • Network-layer controls (WAF, NGFW, IDS) — there is no remote listener to filter.
  • EDR signature detection — IPC calls into a legitimate Electron app do not generate distinctive telemetry.
  • MFA / SSO hardening — the vuln is in local app state handling, unrelated to identity.
06 · Verification

Crowdsourced verification payload.

Run on each Windows endpoint where Cherry Studio may be installed. Standard user privileges are sufficient. Invoke as .\Check-CVE-2026-13534.ps1. Outputs VULNERABLE, PATCHED, or UNKNOWN.

noisgate-verify.ps1
POWERSHELLREAD-ONLYSAFE
#requires -Version 5.1
# Check-CVE-2026-13534.ps1
# Detects CherryHQ cherry-studio 1.9.0 - 1.9.7 (vulnerable to CVE-2026-13534)

$ErrorActionPreference = 'SilentlyContinue'

function Get-CherryStudioVersion {
    $candidates = @(
        "$env:LOCALAPPDATA\Programs\cherry-studio\resources\app.asar",
        "$env:LOCALAPPDATA\Programs\cherry-studio\package.json",
        "$env:ProgramFiles\cherry-studio\resources\package.json"
    )
    foreach ($p in $candidates) {
        if (Test-Path $p) {
            $exe = Get-ChildItem "$env:LOCALAPPDATA\Programs\cherry-studio\Cherry Studio.exe" -ErrorAction SilentlyContinue
            if ($exe) { return $exe.VersionInfo.ProductVersion }
        }
    }
    # Fallback: registry uninstall keys
    $keys = @(
        'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*',
        'HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*',
        'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*'
    )
    foreach ($k in $keys) {
        $hit = Get-ItemProperty $k | Where-Object { $_.DisplayName -match 'Cherry Studio' }
        if ($hit) { return $hit.DisplayVersion }
    }
    return $null
}

$ver = Get-CherryStudioVersion
if (-not $ver) {
    Write-Output 'UNKNOWN: Cherry Studio not detected on this host'
    exit 2
}

try {
    $sv = [version]($ver -replace '[^\d\.].*$','')
} catch {
    Write-Output "UNKNOWN: could not parse version '$ver'"
    exit 2
}

$min = [version]'1.9.0'
$max = [version]'1.9.7'
if ($sv -ge $min -and $sv -le $max) {
    Write-Output "VULNERABLE: Cherry Studio $ver is in 1.9.0-1.9.7 (CVE-2026-13534)"
    exit 1
} else {
    Write-Output "PATCHED: Cherry Studio $ver is outside 1.9.0-1.9.7"
    exit 0
}
07 · Bottom Line

If you remember one thing.

TL;DR
Monday morning: do not page anyone. Run an inventory sweep to find Cherry Studio 1.9.0–1.9.7 across the fleet — expect a long tail in engineering/AI teams. Per the noisgate mitigation SLA for LOW there is no mitigation deadline; per the noisgate remediation SLA push the patched build through your normal app-update channel within 365 days, but realistically bundle it into the next monthly endpoint software refresh. If you want belt-and-suspenders before upgrade, disable the Memory feature via app config and restrict third-party assistant plugin sources. This CVE is backlog hygiene, not an incident.

Sources

  1. CIRCL Vulnerability-Lookup — CVE-2026-13534
  2. CherryHQ cherry-studio GitHub repository
  3. CherryHQ cherry-studio Security advisories
  4. CherryHQ cherry-studio Releases
  5. CherryHQ cherry-studio Issues (tracking #15411)
  6. OffSeq Threat Radar — related CherryHQ authorization CVE
  7. CWE-285: Improper Authorization
  8. FIRST EPSS model
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.