| Type | software |
| Product Environment | web |
| Product Name | OnlyOffice Community Server |
| Product Vendor | Ascensio System SIA |
| Product Version | 12.7.0 |
| Product Link | https://github.com/ONLYOFFICE/Docker-CommunityServer |
| Vulnerability Name | Cross-Site Scripting |
| Severity | High |
|
CVSS String
|
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N |
| CVSS Score | 8.7 |
| CVE ID | CVE-2025-10254 |
| Vendor Acknowledgement | Yes |
|
Affected digital Assets
|
10523 |
|
Affected Users
|
1052300 |
| Date of Reporting | Feb 17, 2025 |
| PoC Exploit | - |
| Credit | 0xhamy,daeda1us |
ONLYOFFICE Community Server allows HTML in project comments and accepts embedded SVG images, enabling stored cross-site scripting (XSS).
An attacker can post a comment containing a base64-encoded SVG with JavaScript; when other users view the comment thread, the script executes in their browsers.
Project comment fields accept raw HTML, including <img> tags whose src can be a data: URL.
SVGs loaded via data:image/svg+xml;base64,... are parsed by the browser, and SVG event attributes (e.g., onload) execute JavaScript.
Because comments are persisted and rendered to other users, this is a stored XSS vector.
Open a project message thread with comments enabled.
Example (local test instance):
http://127.0.0.1:8088/Products/Projects/Messages.aspx?prjID=1&id=1#comments
Prepare an SVG payload and base64-encode it.
Example SVG:
<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200"
onload="alert('xss')">
<rect width="200" height="200" fill="lightblue"/>
</svg>
Post a comment containing a base64-embedded SVG via <img> tag.
<img
src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIiBvbmxvYWQ9ImFsZXJ0KCd4c3MnKSI+PHJlY3Qgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiIGZpbGw9ImxpZ2h0Ymx1ZSIgLz48L3N2Zz4="
alt="XSS">
View the comment thread.
When the page renders the comment, the browser loads the SVG from the data: URL and fires onload, executing the JavaScript (e.g., an alert).
data: URLs or restrict <img src> to vetted schemes and MIME types (e.g., https + raster images only).ADD_TAGS/FORBID_ATTR configured) before storing/rendering comments.data: for images if feasible; disallow inline scripts with nonces).