Skip to main content

SiYuan CVE-2026-74905

| EUVDEUVD-2026-60586 MEDIUM
Server-Side Request Forgery (SSRF) (CWE-918)
2026-08-18 VulnCheck GHSA-qrjw-gxw5-x7q9
6.9
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Recon
    Authenticate to SiYuan instance
  2. Delivery
    Craft hostname resolving to IPv6 transition address (NAT64/6to4/Teredo) encoding private IPv4 target
  3. Exploit
    Submit crafted URL to forward/WebSocket/SSE proxy endpoint
  4. Install
    isPrivateIP fails to classify transition address, SSRFSafeDialer permits connection
  5. C2
    Reach internal service or cloud metadata endpoint (169.254.169.254)
  6. Execute
    Read full response body
  7. Impact
    Exfiltrate IAM credentials or internal service data

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V4 - API and Web Service URL allowlisting, SSRF prevention
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Credential Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

SafeMode must be explicitly enabled on the SiYuan instance - this is the hard prerequisite, as SafeMode is what invokes SSRFSafeDialer and the vulnerable isPrivateIP check. Without SafeMode, the code path containing the vulnerability is not active (though SSRF protections would also be absent). The attacker must be authenticated per the CVE description; however, the provided CVSS 4.0 vector specifies PR:N (no privileges required), creating an unresolved conflict - authentication requirements should be verified against the vendor advisory before assuming unauthenticated exploitation is possible. The attacker must control a URL submitted to one of three endpoints: the network forward proxy, WebSocket proxy, or SSE proxy. Exploitation further requires that the network path from the SiYuan host supports routing of IPv6 transition addresses (NAT64, 6to4, or Teredo) to their embedded private IPv4 destinations, or that the DNS resolver returns such transition addresses for attacker-controlled hostnames. Cloud-hosted instances with access to IMDSv1 endpoints represent the highest-impact targets; air-gapped or IPv4-only environments with no IPv6 transition routing are not exploitable via this technique.

Impact

The provided CVSS 4.0 vector (PR:N) directly conflicts with the CVE description, which states 'an authenticated attacker' - this discrepancy must be confirmed against the vendor advisory at GHSA-qq8m-8p8v-x4xg before making access-control decisions. If authentication is required (PR:L, as stated in the description), the realistic attacker pool is limited to users with existing SiYuan credentials, substantially reducing exposure for single-user self-hosted deployments. For team or shared SiYuan instances - particularly those cloud-hosted - the full-read SSRF capability is high-severity: reaching IMDSv1 endpoints (169.254.169.254) yields IAM credentials enabling lateral movement far beyond the SiYuan host itself. The SafeMode prerequisite is an additional limiting factor; environments that have not enabled SafeMode are not affected by this bypass (though they may have unrestricted SSRF exposure separately). No EPSS score is available in the provided intelligence, no KEV listing exists, and no public POC has been identified - urgency is moderate rather than immediate, though the detailed technical description substantially lowers the bar for independent exploit development. The CVSS 4.0 base score of 6.9 may understate cloud-hosted impact where credential theft has significant downstream consequences.

Exploit ScenarioDerived

An authenticated SiYuan user on an instance with SafeMode enabled submits a crafted URL - for example, one whose hostname resolves to 64:ff9b::a9fe:a9fe (the NAT64 encoding of 169.254.169.254) - to the network forward proxy endpoint. The isPrivateIP function evaluates the resolved IPv6 address, does not recognize it as a transition address encoding a private IPv4 destination, and permits the outbound connection. The proxy returns the full HTTP response body, yielding AWS instance metadata including IMDSv1 IAM credentials, which the attacker can immediately use for lateral movement within the cloud environment. No public POC exists at time of analysis, but the CVE description provides the precise address ranges and affected code path needed to construct one.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 18, 2026

Full-read SSRF in SiYuan before v3.7.4 allows authenticated attackers to bypass the SafeMode SSRF guard by supplying URLs whose hostnames resolve to IPv6 transition addresses - NAT64 (64:ff9b::/96), 6to4 (2002::/16), or Teredo (2001::/32) - which encode private IPv4 destinations that the isPrivateIP function in kernel/util/net.go fails to classify as internal. Because the affected forward proxy, WebSocket proxy, and SSE proxy endpoints return the full response body, a successful bypass enables exfiltration of cloud instance metadata credentials (e.g., from 169.254.169.254), enumeration of internal services, and port-scanning of internal infrastructure. No public exploit or CISA KEV listing has been identified at time of analysis, but the CVE description provides sufficient technical specificity to serve as an exploit development roadmap.

RemediationAI

Upgrade to SiYuan v3.7.4 or later, which patches the isPrivateIP function in kernel/util/net.go to include IPv6 transition address ranges (NAT64 64:ff9b::/96, 6to4 2002::/16, Teredo 2001::/32). Consult the vendor advisory at https://github.com/siyuan-note/siyuan/security/advisories/GHSA-qq8m-8p8v-x4xg for patch details and any additional mitigations. As a compensating control prior to patching, restrict network-level access to SiYuan's proxy endpoints using firewall rules or reverse-proxy ACLs, limiting access to explicitly trusted users and IPs - note that this requires network perimeter controls and does not address the underlying code defect. For cloud-hosted instances, enforcing IMDSv2 (AWS) or equivalent token-based IMDS authentication significantly reduces the value of a successful metadata endpoint SSRF by preventing unauthenticated credential retrieval via 169.254.169.254. Do not disable SafeMode as a workaround - doing so removes the SSRF protection mechanism entirely rather than fixing the bypass.

Affected VersionsENISA

SiYuan 0 <3.7.4

Affected Packages

euvd siyuan fix: 3.7.4

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

SiYuan is an open-source personal knowledge management application written in Go. The vulnerable component is the isPrivateIP function in kernel/util/net.go, invoked by SSRFSafeDialer to enforce outbound request filtering when SafeMode is active. CWE-918 (Server-Side Request Forgery) describes the root cause: insufficient validation of user-controlled destination addresses before issuing server-side HTTP requests. The function correctly blocks loopback (127.0.0.0/8, ::1), RFC-1918 private ranges (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16), link-local unicast (169.254.0.0/16, fe80::/10), and unspecified addresses, but does not account for IPv6 transition mechanisms - NAT64 (64:ff9b::/96) encodes an IPv4 address in the low 32 bits of the IPv6 address; 6to4 (2002::/16) embeds an IPv4 address at bits 16-47; Teredo (2001::/32) encodes both client and server IPv4 addresses within the prefix. A resolver that supports these mechanisms can map a supplied hostname to one of these transition addresses, which then routes to a private IPv4 destination while bypassing the blocklist. The affected CPE is cpe:2.3:a:siyuan-note:siyuan:*:*:*:*:*:*:*:*.

Know when Siyuan gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 6.9 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:L/SI:L/SA:L
vuln.today AI 6.3 MEDIUM

SafeMode must be enabled and IPv6 transition routing required (AC:H); description specifies authenticated attacker (PR:L); full-read SSRF to internal services yields high confidentiality impact with scope change.

3.1 AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:N/VA:N/SC:H/SI:L/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
Low
Vulnerable system: Availability
None
Subsequent system: Confidentiality
Low
Subsequent system: Integrity
Low
Subsequent system: Availability
Low

Lifecycle Timeline

1
Patch available
Aug 18, 2026 - 12:02 EUVD

DescriptionCVE.org

SiYuan before v3.7.4 contains a server-side request forgery (SSRF) vulnerability in the isPrivateIP function in kernel/util/net.go, used by SSRFSafeDialer to enforce SSRF protection in SafeMode. The function only checks for loopback, link-local unicast, private, and unspecified addresses and does not recognize IPv6 transition addresses (NAT64 64:ff9b::/96, 6to4 2002::/16, Teredo 2001::/32) that embed private IPv4 destinations. When SafeMode is enabled, an authenticated attacker can bypass the SSRF guard via the network forward proxy, WebSocket proxy, or SSE proxy endpoints by supplying a URL whose hostname resolves to such a transition address, reaching internal services and cloud metadata endpoints (e.g., 169.254.169.254). Because the forward proxy returns the full response body, this is a full-read SSRF that can be used to steal instance credentials, reach internal services, and port-scan internal infrastructure.

Threat Intelligence Overview

EPSS Score
0.3%
Top 75% exploitable
Prevalence
Low
niche open-source note-taking app, limited enterprise production footprint
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact· derived
Medium

Priority Score

34
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +34
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.

More in Siyuan

View all
CVE-2026-69084 CRITICAL POC
9.9 Aug 03

SQL injection in SiYuan personal knowledge management (versions <= v3.7.2) lets attackers pass arbitrary SQL statements

CVE-2026-69085 CRITICAL POC
9.9 Aug 03

SQL injection in SiYuan personal knowledge-management software (all versions before v3.7.3) lets attackers inject arbitr

CVE-2024-53507 CRITICAL POC
9.8 Nov 29

A SQL injection vulnerability was discovered in Siyuan 3.1.11 in /getHistoryItems. Rated critical severity (CVSS 9.8), t

CVE-2024-53506 CRITICAL POC
9.8 Nov 29

A SQL injection vulnerability has been identified in Siyuan 3.1.11 via the ids array parameter in /batchGetBlockAttrs. R

CVE-2024-53505 CRITICAL POC
9.8 Nov 29

A SQL injection vulnerability has been identified in Siyuan 3.1.11 via the id parameter at /getAssetContent. Rated criti

CVE-2024-53504 CRITICAL POC
9.8 Nov 29

A SQL injection vulnerability has been identified in Siyuan 3.1.11 via the notebook parameter in /searchHistory. Rated c

CVE-2026-23852 CRITICAL POC
9.6 Jan 19

SiYuan personal knowledge management system prior to 3.5.4 has a stored XSS vulnerability (CVSS 9.6) that allows code ex

CVE-2026-56397 CRITICAL POC
9.4 Jun 21

Remote code execution in SiYuan note-taking application (before v3.6.1) allows any malicious Bazaar marketplace package

CVE-2026-54069 CRITICAL POC
9.2 Jun 24

Origin-validation bypass in SiYuan Note (open-source personal knowledge management) before 3.7.0 lets any installed Chro

CVE-2026-29183 CRITICAL POC
9.3 Mar 06

Reflected XSS in SiYuan knowledge management before 3.5.9.

CVE-2026-25539 CRITICAL POC
9.1 Feb 04

SiYuan knowledge management system prior to 3.5.5 has a path traversal in /api/file/copyFile allowing arbitrary file ope

CVE-2024-2692 CRITICAL POC
9.0 Apr 04

SiYuan version 3.0.3 allows executing arbitrary commands on the server. Rated critical severity (CVSS 9.0), this vulnera

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy