{"id":"CVE-2026-74903","state":"PUBLISHED","title":"SiYuan before v3.7.4 Insufficient Access Control via spinBlockDOM","description":"SiYuan before v3.7.4 contains an insufficient access control vulnerability in the /api/lute/spinBlockDOM endpoint, which is guarded only by CheckAuth middleware instead of CheckAdminRole like its sibling endpoint. Authenticated users with RoleEditor or RoleReader roles can invoke the endpoint to transform arbitrary DOM input, and large payloads cause endpoint starvation through per-path mutex serialization.","publishedAt":"2026-08-18T11:19:35.404Z","updatedAt":"2026-08-18T15:05:34.564Z","severity":{"score":5.3,"label":"Medium","version":"4.0","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N","source":"VulnCheck"},"assigner":"VulnCheck","products":["siyuan-note siyuan"],"affected":[{"vendor":"siyuan-note","product":"siyuan","packageURL":"pkg:golang/github.com/siyuan-note/siyuan/kernel","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThan":"3.7.4","versionType":"semver"},{"version":"3.7.4","status":"unaffected","versionType":"semver"}]}],"references":["https://github.com/siyuan-note/siyuan/security/advisories/GHSA-3j8q-5c8c-grwm","https://www.vulncheck.com/advisories/siyuan-before-insufficient-access-control-via-spinblockdom"],"weaknesses":["CWE-400"],"ingestedAt":"2026-10-29T20:12:58.252Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/74xxx/CVE-2026-74903.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-74903","state":"PUBLISHED","datePublished":"2026-08-18T11:19:35.404Z","dateUpdated":"2026-08-18T15:05:34.564Z","assignerShortName":"VulnCheck","assignerOrgId":"83251b91-4cc7-4094-a5c7-464a1b83ea10","dateReserved":"2026-08-17T10:48:45.738Z"},"containers":{"cna":{"title":"SiYuan before v3.7.4 Insufficient Access Control via spinBlockDOM","descriptions":[{"lang":"en","value":"SiYuan before v3.7.4 contains an insufficient access control vulnerability in the /api/lute/spinBlockDOM endpoint, which is guarded only by CheckAuth middleware instead of CheckAdminRole like its sibling endpoint. Authenticated users with RoleEditor or RoleReader roles can invoke the endpoint to transform arbitrary DOM input, and large payloads cause endpoint starvation through per-path mutex serialization."}],"affected":[{"vendor":"siyuan-note","product":"siyuan","packageURL":"pkg:golang/github.com/siyuan-note/siyuan/kernel","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThan":"3.7.4","versionType":"semver"},{"version":"3.7.4","status":"unaffected","versionType":"semver"}]}],"references":[{"url":"https://github.com/siyuan-note/siyuan/security/advisories/GHSA-3j8q-5c8c-grwm","tags":["vendor-advisory"],"name":"GitHub Security Advisory (GHSA-3j8q-5c8c-grwm)"},{"url":"https://www.vulncheck.com/advisories/siyuan-before-insufficient-access-control-via-spinblockdom","name":"VulnCheck Advisory: SiYuan before v3.7.4 Insufficient Access Control via spinBlockDOM","tags":["third-party-advisory"]}],"metrics":[{"format":"CVSS","cvssV4_0":{"version":"4.0","vectorString":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N","attackVector":"NETWORK","attackComplexity":"LOW","attackRequirements":"NONE","privilegesRequired":"LOW","userInteraction":"NONE","vulnConfidentialityImpact":"NONE","vulnIntegrityImpact":"LOW","vulnAvailabilityImpact":"NONE","subConfidentialityImpact":"NONE","subIntegrityImpact":"NONE","subAvailabilityImpact":"NONE","baseScore":5.3,"baseSeverity":"MEDIUM"}},{"format":"CVSS","cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"LOW","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"NONE","integrityImpact":"LOW","availabilityImpact":"NONE","baseScore":4.3,"baseSeverity":"MEDIUM"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-400","lang":"en","description":"Uncontrolled Resource Consumption","type":"CWE"}]}],"providerMetadata":{"shortName":"VulnCheck","orgId":"83251b91-4cc7-4094-a5c7-464a1b83ea10","dateUpdated":"2026-08-18T11:19:35.404Z"},"datePublic":"2026-08-04T00:00:00.000Z","cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:a:b3log:siyuan:*:*:*:*:*:*:*:*","versionEndExcluding":"3.7.4"}]}]}],"credits":[{"lang":"en","value":"KushSathwara","type":"reporter"}],"x_generator":{"engine":"vulncheck-endgame"}},"adp":[{"title":"CISA ADP Vulnrichment","references":[{"url":"https://github.com/siyuan-note/siyuan/security/advisories/GHSA-3j8q-5c8c-grwm","tags":["exploit"]}],"metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-08-18T15:05:12.402586Z","id":"CVE-2026-74903","options":[{"Exploitation":"poc"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-08-18T15:05:34.564Z"}}]}}}