CVE-2026-109310
Deferred Deferred - Pending Action

SiYuan Kernel Resource Exhaustion via Sprig Template Function

Vulnerability report for CVE-2026-109310, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-10-12

Last updated on: 2026-10-13

Assigner: VulnCheck

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.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-10-12
Last Modified
2026-10-13
Generated
2026-10-19
AI Q&A
2026-10-12
EPSS Evaluated
2026-10-18
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
siyuan-note siyuan 3.1.12

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-770 The product allocates a reusable resource or group of resources on behalf of an actor without imposing any intended restrictions on the size or number of resources that can be allocated.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

SiYuan versions 3.1.12 through 3.8.5 are vulnerable to a Denial of Service (DoS) attack via the getDynamicIcon template function. The application fails to restrict the Sprig template function map in the /api/icon/getDynamicIcon content parameter, allowing attackers to exploit uncapped functions like 'until' to exhaust system resources. This can lead to an Out-of-Memory (OOM) condition, crashing the kernel with a single request.

Detection Guidance

Monitor for unusual memory consumption spikes or kernel crashes when accessing the /api/icon/getDynamicIcon endpoint. Check logs for requests with large content parameters or repeated calls to template functions like 'until'.

Impact Analysis

A publish reader or anyone when publish auth is disabled can send a crafted request to the /api/icon/getDynamicIcon endpoint with a large integer value in the content parameter. This causes the server's kernel process to terminate due to excessive memory consumption, crashing the owner's workspace. A single request can consume several gigabytes of memory.

Compliance Impact

This vulnerability primarily causes resource exhaustion leading to system crashes, which may disrupt availability of services handling sensitive data. For GDPR, this could impact the right to access or rectify data if services become unavailable. For HIPAA, it may affect the availability of electronic protected health information (ePHI) systems. However, the provided context does not explicitly link this vulnerability to compliance violations or specific regulatory requirements.

Mitigation Strategies

Upgrade SiYuan to version 3.8.6 or later. If immediate upgrade is not possible, restrict access to the /api/icon/getDynamicIcon endpoint or disable publish authentication if not needed.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-109310. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart