جزئیات آسیب‌پذیری

CVE-2026-44588

siyuan-note siyuan

SiYuan: URL-encoded title bypasses `escapeAriaLabel`, decoded by `decodeURIComponent` into a tooltip-XSS

CVSS 4.0
9.4بحرانی

شرح رسمی (انگلیسی)

SiYuan is an open-source personal knowledge management system. Prior to 3.7.0, he tooltip mouseover handler in app/src/block/popover.ts reads aria-label via getAttribute and passes it through decodeURIComponent before assigning to messageElement.innerHTML in app/src/dialog/tooltip.ts:41. The encoder used at the producer side, escapeAriaLabel in app/src/util/escape.ts:19-25, only handles HTML special characters (", ', <, literal &lt;) — it leaves %XX URL-escapes untouched. So a doc title containing %3Cimg src=x onerror=...%3E round-trips through escapeAriaLabel and the HTML attribute layer unmodified. Then decodeURIComponent on the consumer side converts %3C to a literal < character (a real <, NOT a character reference). When that string is assigned to innerHTML, the HTML5 tokenizer enters TagOpenState on the literal <, parses the <img> element, and the onerror handler fires. Because the renderer runs with nodeIntegration: true, contextIsolation: false, webSecurity: false (app/electron/main.js:407-411), require('child_process') is reachable from the injected handler, escalating to arbitrary code execution.This vulnerability is fixed in 3.7.0.

امتیازهای CVSS

امتیازنسخهمنبعبردار
9.4بحرانی 4.0 CVEProject cvelistV5 (CNA) (GitHub_M) CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H

محصولات آسیب‌پذیر

فروشندهمحصولنسخه‌هامنبع
siyuan-note siyuan < 3.7.0 CVEProject cvelistV5 (CNA)

منابع و راهنماها

۱
هشدار CVEهای بعدی این محصولمحصول را دنبال کنید تا آسیب‌پذیری‌های تازه را در تلگرام بگیرید.

اطلاعات

تاریخ انتشار
۱۴۰۵/۰۲/۲۴
آخرین به‌روزرسانی
۱۴۰۵/۰۲/۲۵
وضعیت
منتشرشده
صادرکننده (CNA)
GitHub_M

پیش‌بینی بهره‌برداری (EPSS)

۰٫۵٪
احتمال بهره‌برداری در ۳۰ روز
۴۳٫۷٪
صدک (نسبت به همه‌ی CVEها)

ارزیابی SSVC (CISA)

قابل خودکارسازی
خیر
وضعیت بهره‌برداری
اثبات مفهوم
اثر فنی
کامل

ضعف‌ها (CWE)

  • CWE-79
    Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
  • CWE-116
    Improper Encoding or Escaping of Output
  • CWE-1188
    Insecure Default Initialization of Resource