CVE-2026-30587: Multiple Stored XSS vulnerabilities exist in Seafile Server version 13.0.15,13.0.16-pro,12.0.14 and prior a...
Multiple Stored XSS vulnerabilities exist in Seafile Server version 13.0.15,13.0.16-pro,12.0.14 and prior and fixed in 13.0.17, 13.0.17-pro, and 12.0.20-pro, via the Seadoc (sdoc) editor. The application fails to properly sanitize WebSocket messages regarding document structure updates. This allows authenticated remote attackers to inject malicious JavaScript payloads via the src attribute of embedded Excalidraw whiteboards or the href attribute of anchor tags
Security readout for executives and security teams
Plain-English summary
Seafile Server, a self-hosted file sharing platform, has a flaw in its built-in document editor that lets a logged-in user plant hidden malicious code inside a document. When a coworker opens that document, the code can run in their browser and act as them. The vendor has released fixes that organizations should install.
Executive priority
Medium priority. Patch within the normal maintenance cycle, prioritizing instances exposed to external or guest users. No evidence of active exploitation, but the flaw enables session hijacking of collaborators inside a trusted document tool, which can expand impact across shared libraries.
Technical view
Multiple stored cross-site scripting (CWE-79) issues exist in the Seadoc (sdoc) editor of Seafile Server versions 13.0.15, 13.0.16-pro, 12.0.14, and prior. The application does not sanitize WebSocket messages used for document structure updates, allowing authenticated attackers to inject JavaScript through the src attribute of embedded Excalidraw whiteboards or the href attribute of anchor tags. Fixes shipped in 13.0.17, 13.0.17-pro, and 12.0.20-pro.
Likely exposure
Affects Seafile Server deployments running 13.0.15, 13.0.16-pro, 12.0.14, or earlier where the Seadoc editor is in use. Exposure is highest for instances with many authenticated collaborators, shared document libraries, or external/guest users who can author or edit sdoc documents. Internet-facing instances broaden reach but exploitation still requires an authenticated account.
Exploitation context
CVSS 3.1 base 5.4 (AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N). Sources do not show active exploitation and the CVE is not in CISA KEV. Successful abuse requires an authenticated user to craft a malicious sdoc document and a victim user to open it, after which injected JavaScript runs in the victim's browser session.
Researcher notes
Stored XSS sinks are the src attribute of embedded Excalidraw whiteboards and the href attribute of anchor tags inside sdoc documents, delivered via unsanitized WebSocket document-structure updates. The seahub commit 4c530174 and seadoc-editor commit 8fa988aa show the sanitization fixes; diff them to derive safe attribute allow-lists. Scope is CVSS Scoped (S:C), reflecting impact beyond the sdoc component into the broader Seafile web session.
Mitigation direction
Upgrade Seafile Server to 13.0.17, 13.0.17-pro, or 12.0.20-pro per vendor changelogs.
Restrict document creation and sharing permissions to trusted internal users until patched.
Review and tighten guest/external account access to Seadoc-enabled libraries.
Enforce strong Content Security Policy and session controls on the Seafile web interface.
Monitor Seafile audit logs for unusual sdoc edits or anchor/Excalidraw embeds.
Communicate the update window to collaborators and confirm post-upgrade version banner.
Validation and detection
Confirm running Seafile version against the fixed builds 13.0.17, 13.0.17-pro, or 12.0.20-pro.
Review the linked seahub and seadoc-editor commits to verify sanitization changes are present.
Inventory user accounts with sdoc edit rights and quantify external collaborators.
After patching, test that anchor href and Excalidraw src attributes reject javascript: and HTML payloads.
Inspect recent sdoc documents for suspicious anchor or embedded whiteboard content.
Validate browser session protections (HttpOnly, SameSite) on Seafile auth cookies.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · medium confidence lookup
CWE-79: User-session and phishing behavior lookup
Client-side and session-facing weaknesses should be reviewed alongside initial-access and user-execution behaviors. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-79 · source CWE mapping
Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.