Description
SiYuan v3.1.12 before v3.8.6 fails to restrict the Sprig template function map in the /api/icon/getDynamicIcon content parameter, allowing resource exhaustion. A publish reader, or anyone when publish auth is disabled, can use uncapped functions like until to OOM-kill the kernel with one request.
Published: 2026-10-12
Score: 7.1 High
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service
Action: Patch Now
AI Analysis

Impact

The vulnerability in SiYuan arises from an oversight in the /api/icon/getDynamicIcon endpoint, where the content parameter is rendered with an unrestricted Sprig template function map. This allows arbitrary Sprig functions, such as 'until', to be executed without limits. The result is a potential for uncontrolled resource consumption that can drive the system past its memory limits and eventually trigger an out-of-memory kill of the kernel, rendering the host unavailable.

Affected Systems

Affected versions are SiYuan note releases from v3.1.12 through the last stable release before the patch, up to v3.8.5. All builds under the Siyuan package are impacted. The latest workaround is to upgrade to v3.8.6, where the Sprig function map has been properly bounded. Those still running earlier builds should isolate the API or remove templating support.

Risk and Exploitability

The CVSS score of 7.1 indicates a high impact on availability. Because the flaw can be triggered remotely via the publish endpoint and the EPSS is currently unavailable, the likelihood of exploitation is uncertain, but the lack of a KEV listing does not diminish the operational risk. An attacker who can send a crafted request to /api/icon/getDynamicIcon can directly exhaust system memory and cause a reboot or halt of the host, making this a critical DoS risk for any exposed instance.

Generated by OpenCVE AI on October 12, 2026 at 18:52 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade SiYuan to version 3.8.6 or later.
  • If upgrading is not available, disable or restrict unauthenticated access to the /api/icon/getDynamicIcon endpoint by enforcing publish authentication.
  • As a temporary workaround, limit the Sprig template function map so that functions like 'until' are not exposed.
  • Monitor the system for abnormal /api/icon requests and watch for signs of memory exhaustion and kernel OOM kills.

Generated by OpenCVE AI on October 12, 2026 at 18:52 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 13 Oct 2026 19:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Tue, 13 Oct 2026 07:30:00 +0000

Type Values Removed Values Added
First Time appeared Siyuan
Siyuan siyuan
Vendors & Products Siyuan
Siyuan siyuan

Mon, 12 Oct 2026 16:30:00 +0000

Type Values Removed Values Added
Description SiYuan v3.1.12 before v3.8.6 fails to restrict the Sprig template function map in the /api/icon/getDynamicIcon content parameter, allowing resource exhaustion. A publish reader, or anyone when publish auth is disabled, can use uncapped functions like until to OOM-kill the kernel with one request.
Title SiYuan v3.1.12 before v3.8.6 Denial of Service via getDynamicIcon Template
First Time appeared B3log
B3log siyuan
Weaknesses CWE-770
CPEs cpe:2.3:a:b3log:siyuan:*:*:*:*:*:*:*:*
Vendors & Products B3log
B3log siyuan
References
Metrics cvssV3_1

{'score': 6.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'}

cvssV4_0

{'score': 7.1, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-10-13T18:10:38.950Z

Reserved: 2026-10-12T14:14:27.021Z

Link: CVE-2026-109310

cve-icon Vulnrichment

Updated: 2026-10-13T18:10:32.628Z

cve-icon NVD

Status : Deferred

Published: 2026-10-12T17:17:25.560

Modified: 2026-10-13T19:18:24.290

Link: CVE-2026-109310

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-13T07:15:15Z

Weaknesses
  • CWE-770

    Allocation of Resources Without Limits or Throttling