☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
CVSS: 5.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N 🐛 CWE-639
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2026-73610

CVE-2026-73610 Information Disclosure in Thomas Eichmann
📅 PUBLISHED: 2026-08-13 00:00 UTC
[ ZERO-DAY / UNPATCHED ] [ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.20%
👁️
0.20% probability
5.0× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1190
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
VULNERABLE: < 3.7.4
CVSS VECTOR BREAKDOWN 5.8
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: N Privileges Required None
UI: N User Interaction None
S: C Scope Changed
C: L Confidentiality Low
I: N Integrity None
A: N Availability None
5.8
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2026-73610 is an information-disclosure vulnerability in SiYuan, a self-hosted, local-first note-taking and knowledge-management application, affecting all versions prior to v3.7.4. An unauthenticated remote attacker, or any user granted publish-reader access, can invoke the getLocalStorage endpoint and obtain the administrator's entire local storage map, with only three keys sanitized, exposing closed-tab history, search keywords, private document identifiers, and expanded folder paths. The vulnerability carries a CVSS 3.1 base score of 5.8 (AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N), is classified under CWE-639 (Authorization Bypass Through User-Controlled Key), and currently has no verified patch, no public exploit code, and no CISA KEV listing.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

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.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Technical Analysis

SiYuan operates as a local-first application in which the desktop client spawns an embedded web server exposing both the editor UI and a set of HTTP/RPC-style endpoints used by the browser-based interface. These endpoints are also reachable when SiYuan is deployed in a server or publish mode, where readers are granted access to selected content without full administrative privileges. The vulnerability described for CVE-2026-73610 resides in the "local storage filter" component that is meant to sanitize responses produced by the application's local storage layer before they are returned to the caller.

According to the NVD description, the filter fails at its core task: instead of sanitizing the complete set of sensitive keys held in local storage, it returns the administrator's entire storage map while only three keys are scrubbed. The affected function is reachable through the getLocalStorage endpoint. The vulnerability is mapped to CWE-639, Authorization Bypass Through User-Controlled Key, which indicates that access decisions are made on the basis of user-controllable key or identifier values rather than through a robust server-side authorization check. In this case, a caller who is able to reach getLocalStorage — whether unauthenticated or as a publish reader — appears to be able to request the storage map without an authorization gate, and the filter does not adequately restrict which storage keys are returned.

The absence of a CNA title and the sparse technical detail in the NVD description mean that the exact HTTP method, request parameters, and full URI path of getLocalStorage are not disclosed in available data. The analysis below is therefore grounded in the vulnerability class (improper authorization / insufficient output filtering on a privileged data-access endpoint) and in the explicit data types named in the description. The exposed material is notable for its sensitivity class: closed-tab history allows an attacker to reconstruct the administrator's recent session activity; search keywords reveal the queries, and therefore the topics and secrets, that the administrator has been researching; private document identifiers can be leveraged to target or directly reference documents if other access-control deficiencies exist; and expanded folder paths disclose the logical structure of the knowledge base, including project names and content organization that may itself be confidential.

The attack surface is network-exposed SiYuan instances: deployments that bind the embedded web server to a routable interface, instances fronted by reverse proxies, and publish-mode configurations where read-only readers are expected to have access to only a curated subset of content. Because the condition requires no authentication (AV:N/PR:N) and no user interaction (UI:N), any host that can reach the endpoint is a candidate for data exfiltration. The vulnerability is rated low for confidentiality impact (C:L) under CVSS, but the scope change (S:C) indicates the disclosed data belongs to a security scope outside the vulnerable component — the administrator's local storage — which raises the practical severity for privacy and credential-hygiene purposes.

Exploitation Scenarios

No public PoC, Nuclei template, or exploit code has been tracked for CVE-2026-73610 as of this writing. The following attack chain is therefore inferred from the vulnerability class and the explicit details supplied in the NVD description.

  1. Reconnaissance / target identification. An attacker identifies SiYuan instances exposed to the internet or to an internal network. Useful fingerprints include HTTP responses containing the "SiYuan" title or HTML markers, use of the application's default web interface, and publish-mode portals that expose reader-facing functionality. The attacker may further enumerate the web application to confirm the presence of the getLocalStorage endpoint and the application version (version checks are relevant because versions before v3.7.4 are affected).

  2. Triggering the flawed authorization check. The attacker sends an unauthenticated HTTP request directly to the getLocalStorage endpoint. If the instance is in publish mode, the attacker can instead authenticate as (or already be) a publish reader with intended access only to curated published content. Because the application's local storage filter only sanitizes three keys, the endpoint responds with the administrator's storage map, effectively bypassing the intended key-level filtering.

  3. Payload / execution method. The exploit requires no crafted payload in the classic injection sense. The attack is purely a request/response manipulation: the request targets the vulnerable endpoint, and the server-side flaw (CWE-639-style missing authorization combined with inadequate output filtering) does the rest. The returned map is parsed as JSON, and the attacker extracts the disclosed fields — closed-tab history, search keywords, private document identifiers, and expanded folder paths — for offline analysis.

  4. Post-exploitation impact. With the storage map in hand, the attacker can profile the administrator's usage habits, infer the content of private documents from search keywords and folder path names, and use document identifiers to attempt direct access to specific private documents. Exfiltrated data can feed further targeted attacks: credential stuffing or phishing campaigns tailored to the administrator's research topics, social engineering based on folder structure, or sale of exposed corporate secrets. Because the disclosed data is retrieved from local storage, the compromise may not produce traditional file-access logs, making the incident difficult to detect after the fact.

Impact Assessment

From a business perspective, CVE-2026-73610 enables confidentiality loss for users of SiYuan who rely on the application to store research notes, internal project documentation, credentials references, or personal data. The victim is typically an individual or organization running SiYuan as a self-hosted knowledge base, a personal productivity hub, or a collaborative publish portal. The core impact is privacy and data classification breach: closed-tab history and search keywords can reveal sensitive queries (financial, medical, legal, or security-related), while private document identifiers and expanded folder paths allow an attacker to map the entire knowledge-base structure without authentication.

The CVSS vector breaks down as follows: Attack Vector: Network (AV:N) means the flaw is remotely exploitable; Attack Complexity: Low (AC:L) means no special conditions are required; Privileges Required: None (PR:N) confirms unauthenticated exploitation; User Interaction: None (UI:N) removes reliance on victim actions; Scope: Changed (S:C) reflects that the compromised component (the endpoint/filter) impacts a different security authority (the administrator's storage); Confidentiality Impact: Low (C:L) per vendor scoring, while Integrity and Availability are unaffected (I:N/A:N). The low confidentiality subscore likely reflects the perceived value of a single storage map, but real-world impact is highly dependent on deployment: an enterprise SiYuan deployment containing privileged project data faces a materially higher confidentiality impact than the base score suggests. The EPSS score of 0.00201 (10.2% percentile of exploited CVEs) indicates a low current probability of exploitation in the wild, and the absence of a CISA KEV entry confirms no known exploitation-due-date obligation.

Detection Guidance

The getLocalStorage endpoint name is the only concrete network-level indicator available from the NVD description. The rules below therefore key on HTTP requests whose URI contains the getLocalStorage substring. Detections should consider that legitimate local requests from the desktop UI to the loopback interface are expected; rules should filter loopback source addresses where appropriate and focus on remote or publish-reader sources.

Sigma Rule

title: SiYuan getLocalStorage Endpoint Access - Potential CVE-2026-73610 Exploitation
id: 7c0f9d2e-6b3a-4d1c-9f2e-8a5b1c3d7e10
status: experimental
description: Detects HTTP requests to the SiYuan getLocalStorage endpoint, which exposes the administrator's storage map when exploited per CVE-2026-73610.
references:
    - https://nvd.nist.gov/vuln/detail/CVE-2026-73610
author: Valter's IT Threat Intelligence
date: 2026/01/01
logsource:
    category: webserver
    product: generic
detection:
    selection:
        cs-method:
            - 'GET'
            - 'POST'
        c-uri|contains: 'getLocalStorage'
    filter_loopback:
        c-ip|cidr:
            - '127.0.0.0/8'
            - '::1'
    condition: selection and not filter_loopback
falsepositives:
    - Legitimate HTTP requests from the local SiYuan desktop client to the loopback interface
    - Monitoring tools that periodically query application health endpoints if misconfigured to include the endpoint
level: high
fields:
    - c-ip
    - c-uri
    - cs-user-agent
    - sc-status
tags:
    - attack.t1190
    - attack.collection
    - cve.2026.73610
    - cwe.639

YARA Rule

rule SiYuan_GetLocalStorage_InfoDisclosure_CVE_2026_73610
{
    meta:
        author = "Valter's IT Threat Intelligence"
        date = "2026-01-01"
        description = "Detects artifacts referencing the SiYuan getLocalStorage endpoint associated with CVE-2026-73610, in HTTP captures, exfiltration scripts, or web server logs."
        cve = "CVE-2026-73610"
        reference = "https://nvd.nist.gov/vuln/detail/CVE-2026-73610"
        score = 60
    strings:
        $endpoint = "getLocalStorage" ascii wide nocase
        $json_content = "Content-Type: application/json" ascii wide nocase
        $http_req = "POST" ascii wide nocase
    condition:
        $endpoint and (#endpoint >= 1) and any of ($json_content, $http_req)
}

Suricata IDS Rule

alert http any any -> $HOME_NET any (msg:"ET WEB_SPECIFIC_APPS SiYuan getLocalStorage Endpoint Access Attempt (CVE-2026-73610)"; flow:to_server,established; http.uri; content:"getLocalStorage"; nocase; classtype:attempted-recon; sid:20373610; rev:1; metadata:created_at 2026_01_01, updated_at 2026_01_01, cve CVE-2026-73610, mitre_attack_tactic TA0001, signature_severity Major;)

Elastic Detection

network where network.protocol == "http"
    and http.request.uri like "*getLocalStorage*"
    and not (source.ip == "127.0.0.1" or source.ip == "::1")

Alternatively, to correlate repeated probing attempts from the same host:

sequence by source.ip with maxspan=15m
    [ network where network.protocol == "http" and http.request.uri like "*getLocalStorage*" ]
    [ network where network.protocol == "http" and http.request.uri like "*getLocalStorage*" ]

Splunk SPL Query

index=* (sourcetype="access_combined" OR sourcetype="access_combined_wcookie" OR sourcetype="iis" OR sourcetype="zeek:http")
    uri="*getLocalStorage*"
| eval threat_name="CVE-2026-73610", threat_category="information_disclosure"
| stats count min(_time) as first_seen max(_time) as last_seen by src_ip, uri, http_user_agent, status
| where not (src_ip="127.0.0.1" OR src_ip="::1")
| sort - count
| table first_seen last_seen src_ip uri http_user_agent status count threat_name threat_category

Wazuh OSSEC Rule

<group name="siyuan,web_application_attack,information_disclosure,">
  <rule id="100736" level="12">
    <decoded_as>web-access</decoded_as>
    <match>getLocalStorage</match>
    <description>SiYuan: access to getLocalStorage endpoint detected (potential CVE-2026-73610 information disclosure)</description>
    <group>web_application_attack,information_disclosure,</group>
    <mitre>
      <id>T1190</id>
    </mitre>
  </rule>
</group>

Mitigation & Patch Guidance

Patch confidence for CVE-2026-73610 is 0/4 — no patch evidence exists from any tracked source, and no vendor advisory or official fix has been identified. The NVD description states the flaw affects "SiYuan before v3.7.4," which implies the fix may be introduced in v3.7.4; however, this has not been independently verified. Organizations should treat the vulnerability as unpatched until a vendor advisory officially confirms remediation.

  1. Immediate mitigations. Restrict network access to the SiYuan web server at the network layer: do not bind the application to publicly routable interfaces unless strictly required, and place it behind an authenticated reverse proxy (e.g., mTLS or SSO) so that unauthenticated requests never reach the application. If publish mode is enabled, disable it or limit publish-reader accounts to the minimum set necessary. Deploy WAF rules that block requests whose URI contains getLocalStorage unless they originate from trusted loopback or management sources. Monitor access logs for this endpoint and alert on any request from non-loopback source IPs.

  2. Patch/upgrade steps. Verify the current SiYuan version and compare it against v3.7.4. If a release equal to or greater than v3.7.4 is available and vendor-confirmed, upgrade all affected instances, then re-test the getLocalStorage endpoint to confirm that only the intended (sanitized) response is returned. Until a vendor advisory is released, do not assume that upgrading alone resolves the issue; validate the behavior empirically in a test environment.

  3. Long-term hardening. Adopt a least-privilege model for self-hosted note-taking platforms: run SiYuan in an isolated VLAN or container with egress restrictions, back up the knowledge base restorably but keep backups encrypted, enable audit logging at the reverse proxy layer, and periodically review publish-mode grants. Treat search keywords and closed-tab history as sensitive data and rotate any credentials or tokens that may have been referenced in the disclosed storage map if compromise is suspected. Track the vendor's GitHub releases and commit history for an eventual fix commit, and subscribe to CVE and EPSS feeds to reassess risk as exploitation likelihood evolves. No known threat-actor campaigns or exploit-in-the-wild evidence is available at this time; the CISA KEV catalog does not currently list CVE-2026-73610.

References

  1. NVD — CVE-2026-73610 Detail: https://nvd.nist.gov/vuln/detail/CVE-2026-73610
  2. CWE-639 — Authorization Bypass Through User-Controlled Key: https://cwe.mitre.org/data/definitions/639.html
  3. SiYuan — official project repository (for version/release verification): https://github.com/siyuan-note/siyuan
  4. FIRST.org — CVSS v3.1 Calculator (vector CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N): https://www.first.org/cvss/calculator/3.1
  5. CISA Known Exploited Vulnerabilities Catalog (CVE-2026-73610 not listed at time of writing): https://www.cisa.gov/known-exploited-vulnerabilities-catalog

No public exploit code, Nuclei template, or researcher write-up is currently available for CVE-2026-73610. The attack chain described in this report is inferred from the NVD description and the vulnerability class; specific implementation details beyond the getLocalStorage endpoint, the storage map behavior, and the sanitization failure (three keys) are not disclosed in available data.

👁️ SHODAN DORKS (THREAT HUNTING)

What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.

http.title:"SiYuan"
http.html:"SiYuan"
"getLocalStorage"
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2026-73610/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.