Impact
The vulnerability allows an attacker to inject malicious scripts via unsanitized SVG input to the /api/icon/getDynamicIcon endpoint. The endpoint returns an SVG image with a <text> tag that includes the content query parameter directly, without escaping. An attacker could craft a URL that contains a payload such as a <script> tag or malformed XML. When a user opens that link, the browser loads the SVG and executes the attacker’s JavaScript in the victim’s context. This permits theft of session cookies, defacement, or other actions that target the user’s browser session. The weakness corresponds to CWE-79 (Improper Neutralization of Input During Web Page Generation).
Affected Systems
SiYuan personal knowledge management system, vendor Siyuan. Versions earlier than 3.5.4 are affected. No later versions have the flaw.
Risk and Exploitability
The CVSS score is 2.1, indicating low severity, and the EPSS score is less than 1%, showing a very low probability of exploitation at present. The vulnerability is not listed in the CISA KEV catalog. The attack vector is likely network-based. Because the endpoint is reachable via an HTTP request and does not require authentication, an unauthenticated attacker can embed a malicious payload in a URL. If a user visits that URL, the browser will render the SVG and execute the script. The impact is confined to the victim’s browser session; it does not provide direct code execution on the server. The risk is mitigated by applying the patch, but in environments that cannot immediately upgrade, the exposure remains until remedied.
OpenCVE Enrichment
Github GHSA