CVE-2026-13623
Executive Summary
CVE-2026-13623 is a stored/reflected cross-site scripting (XSS) vulnerability (CWE-79) in the Theme API component of Synology DiskStation Manager (DSM). Exploitation requires a remote, authenticated administrator to interact with a crafted request, after which the injected script runs in the privileged DSM web session and enables reading or writing of limited files on the NAS appliance. The reported CVSS 3.1 base score is 4.8 (Medium) with vector CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:N; impact is confined to low confidentiality and low integrity loss, with scope change (S:C) indicating the vulnerable component can affect resources beyond its security authority. No public PoC, Nuclei template, or exploit code is currently available, and the CVE has not been added to CISA KEV. The EPSS score has not been assigned by FIRST.org at the time of writing.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
Technical Analysis
Vulnerability Class
Per the NVD description, the flaw is an "improper neutralization of input during web page generation ('Cross-site Scripting')" — the canonical definition of CWE-79. The affected subsystem is the Theme API within Synology DSM, the web-based management interface for DiskStation NAS products.
The NVD description does not disclose the specific endpoint, parameter name, HTTP method, or encoding bypass that triggers the flaw. Consistent with CWE-79 mechanics, the vulnerability class implies that user-supplied input is incorporated into an HTML/JavaScript response (either echoing back into the Theme API response, or persisting into a theme configuration that is served to other browser sessions) without adequate output encoding or input sanitization. Because Theme API functionality in DSM involves the selection, preview, and customization of the DSM user interface theme, it represents an authenticated surface reachable from the DSM web portal.
Attack Surface
- Reachable via: DSM web management interface (typically TCP 5000/5001, or proxied through Synology QuickConnect / reverse proxy).
- Prerequisite privilege: authenticated session with administrator privileges (per NVD: "remote authenticated users with administrator privileges").
- User interaction: required (CVSS
UI:R) — a victim administrator must load the crafted page/theme context. - Scope: changed (
S:C) — script executed in the DSM origin can affect resources outside the Theme API's own security scope (e.g., the wider DSM administrative session).
Code-Level Notes
Insufficient technical detail is available from the NVD record to identify the specific function, parameter, or sink involved. Based on the vulnerability class, the likely sink is unescaped output when the Theme API renders a response — for example, reflecting a theme name, preview payload, or configuration value into an HTML attribute or <script> block. This is a hypothesis based on CWE-79 mechanics and should be validated against the vendor advisory or a focused code review; it is not a claim derived from the provided CVE data.
CVSS Subscore Interpretation
| Metric | Value | Meaning |
|---|---|---|
| AV | Network | Exploitable remotely over the DSM web interface |
| AC | Low | No specialized conditions required |
| PR | High | Attacker must already hold admin credentials |
| UI | Required | Victim admin must trigger the crafted context |
| S | Changed | Impact can cross into the broader DSM session scope |
| C | Low | Limited file read |
| I | Low | Limited file write |
| A | None | No availability impact |
The High PR and Required UI components are what produce the moderate 4.8 base score despite the scope change. This is not a pre-authentication bug and does not permit remote unauthenticated compromise.
Exploitation Scenarios
Note: No public PoC, exploit code, or Nuclei template exists for CVE-2026-13623. The chain below is described at the vulnerability-class level and does not fabricate endpoint names, parameters, or function identifiers.
1. Reconnaissance / Target Identification
An attacker enumerates internet-facing or internal Synology DSM instances via Shodan/Censys using fingerprints such as the DSM login page title and the webapi/entry.cgi handler path. Targets of interest are DSM builds below the fixed versions:
- < 7.2.1-69057-12
- < 7.2.2-72806-9
- < 7.3.2-86009-4
- < 7.4-90075
Because PR:H is required, the adversary must first obtain administrator credentials — via phishing, credential stuffing, purchased credentials, or misconfigured exposure of admin services.
2. Triggering the Flaw
Using the compromised admin session, the attacker submits input to the Theme API that is not properly neutralized during web page generation. The crafted value is reflected or stored into a page the administrator will later render (e.g., a theme preview, theme listing, or theme configuration view). No specific parameter name or endpoint is asserted here; the location is defined by the CVE as the Theme API.
3. Payload / Execution (Class Level)
A JavaScript payload embedded through the Theme API executes in the context of the DSM administrative origin. Because S:C is scored, the script can reach beyond the Theme API's own component boundary — e.g., interacting with authenticated DSM APIs using the victim's session — enabling the reading or writing of limited files as stated in the NVD description.
4. Post-Exploitation Impact
Per NVD, the outcome is limited to file read/write operations. Realistic escalation paths that fall within the scored impact include:
- Reading configuration or credential-bearing files within DSM's accessible paths.
- Writing or modifying limited files to alter behavior, stage content, or manipulate the DSM UI for further social engineering.
- Persistence is not scored (no A and limited I/C), so this is best treated as a foothold/limited-impact step rather than full appliance compromise.
The requirement for admin privileges plus user interaction makes this a post-authentication, higher-effort bug — useful to an attacker who already has a foothold and wants a stealthy file read/write primitive.
Impact Assessment
Business impact: A compromised Synology NAS is a high-value target — it is frequently the data store for backups, shared documents, and photo/video archives, and may be joined to enterprise identity providers via LDAP/AD. An admin-context XSS with scope change that yields file read/write expands the blast radius from "one web page" to "broader DSM session and filesystem," even at the Low/Low severity levels scored.
Blast radius & affected systems:
- All DSM installations below the four fixed builds listed above.
- Instances exposed to the internet or reachable by compromised admin accounts.
- QuickConnect-enabled devices reachable indirectly.
Severity caveats:
PR:H— attacker must already hold admin credentials; the bug does not provide initial access on its own.UI:R— a second admin interaction is required, narrowing exploitability.C:L / I:L / A:N— the achievable file operations are bounded; there is no direct availability impact.
Composite view: Medium severity (4.8). Not wormable, not pre-auth. However, in the context of a NAS that stores sensitive data, the file read/write primitive should be treated as meaningful and patched promptly.
Detection Guidance
Detection content below is generic and behavior-based, since no PoC, endpoint, or parameter is public. Rules target the Theme API surface, anomalous admin-session behavior, and XSS indicators in DSM HTTP traffic.
Sigma Rule
title: Potential Synology DSM Theme API Cross-Site Scripting (CVE-2026-13623)
id: 8f2c1b45-7e3a-4d51-9b1e-0c7a5e21c9a4
status: experimental
description: Detects suspicious requests to the Synology DSM Theme API containing XSS payload markers, indicative of exploitation attempts for CVE-2026-13623.
references:
- https://nvd.nist.gov/vuln/detail/CVE-2026-13623
author: valtersit.com
date: 2026/01/01
tags:
- attack.t1190
- attack.t1059
logsource:
category: webserver
product: synology
detection:
selection_uri:
cs-uri-stem|contains:
- '/webapi/entry.cgi'
- 'Theme'
- 'theme'
selection_payload:
cs-uri-query|contains:
- '<script'
- 'javascript:'
- 'onerror='
- 'onload='
- '<script'
- '%3cscript'
condition: selection_uri and selection_payload
fields:
- c-ip
- cs-method
- cs-uri-stem
- cs-uri-query
- cs-username
falsepositives:
- Legitimate theme names containing special characters (rare)
level: medium
YARA Rule
rule CVE_2026_13623_Synology_DSM_Theme_API_XSS
{
meta:
author = "valtersit.com"
description = "Detects XSS payload markers targeting the Synology DSM Theme API (CVE-2026-13623)"
reference = "https://nvd.nist.gov/vuln/detail/CVE-2026-13623"
date = "2026-01-01"
severity = "medium"
strings:
$theme_api = "Theme" nocase
$dsm_api = "webapi/entry.cgi" nocase
$xss1 = "<script" nocase
$xss2 = "javascript:" nocase
$xss3 = "onerror=" nocase
$xss4 = "onload=" nocase
$xss5 = "document.cookie" nocase
$xss6 = "<script" nocase
condition:
uint16(0) != 0x5A4D and
(
(1 of ($xss*)) and
($theme_api or $dsm_api)
)
}
Suricata IDS Rule
alert http any any -> any any (msg:"CVE-2026-13623 Synology DSM Theme API XSS Attempt"; flow:established,to_server; http.uri; content:"/webapi/entry.cgi"; nocase; http.uri; content:"theme"; nocase; http.uri; pcre:"/(%3C|%3c|<)script|javascript:|onerror=|onload=/i"; reference:cve,2026-13623; reference:url,nvd.nist.gov/vuln/detail/CVE-2026-13623; classtype:web-application-attack; sid:202613623; rev:1; metadata:created_at 2026_01_01, updated_at 2026_01_01;)
Elastic Detection
sequence by user.name, source.ip with maxspan=5m
[ any where event.category == "web" and
http.request.method in ("POST", "GET") and
stringContains(url.path, "webapi/entry.cgi") and
stringContains(toLower(url.query), "theme") ]
[ any where event.category == "web" and
( stringContains(toLower(url.query), "<script") or
stringContains(toLower(url.query), "javascript:") or
stringContains(toLower(url.query), "onerror=") or
stringContains(toLower(url.query), "onload=") ) ]
If running Elastic Security on network/endpoint telemetry rather than web logs, pivot to a process-based rule detecting
curl/wgetposting XSS payloads to DSM Theme API endpoints from unexpected hosts.
Splunk SPL Query
index=web sourcetype=access_combined OR sourcetype=suricata
| eval uri_lower = lower(uri)
| eval query_lower = lower(uri_query)
| where (like(uri_lower, "%webapi/entry.cgi%") AND like(uri_lower, "%theme%"))
| search query_lower IN ("*<script*","*javascript:*","*onerror=*","*onload=*","*%3cscript*")
| stats count min(_time) as first_seen max(_time) as last_seen
values(clientip) as source_ips values(uri) as uris
by user
| where count > 0
| sort - count
| convert ctime(first_seen) ctime(last_seen)
Wazuh OSSEC Rule
<group name="web,synology,xss,">
<rule id="100623" level="10">
<if_sid>31100,31101,31103,31108</if_sid>
<url>webapi/entry.cgi</url>
<regex type="pcre2">(?i)theme</regex>
<description>CVE-2026-13623: Possible Synology DSM Theme API request (surface match)</description>
<mitre>
<id>T1190</id>
</mitre>
</rule>
<rule id="100624" level="12">
<if_sid>100623</if_sid>
<regex type="pcre2">(?i)(%3C|<|<)\s*script|javascript:|onerror\s*=|onload\s*=</regex>
<description>CVE-2026-13623: XSS payload markers detected in Synology DSM Theme API request</description>
<mitre>
<id>T1059</id>
<id>T1190</id>
</mitre>
</rule>
</group>
Mitigation & Patch Guidance
Patch confidence: 0/4 — UNPATCHED (no patch evidence from any tracked source). The NVD record names fixed builds, but no verified vendor advisory, commit, or patch artifact was captured by the tracked sources. Treat all listed builds as unverified until confirmed against Synology's official advisory page.
1) Immediate Mitigations
- Restrict the DSM admin plane. Do not expose DSM (TCP 5000/5001) directly to the internet. Require VPN, zero-trust access broker, or firewall allow-listing for administrative access.
- Enforce MFA for all DSM administrator accounts to reduce the likelihood that
PR:His satisfied by stolen credentials. - Least privilege: convert day-to-day users away from admin; reserve DSM admin accounts for administrative tasks only.
- Session hygiene: short idle timeouts, browser profiles that do not mix DSM admin sessions with general browsing (reduces
UI:Rtrigger risk). - Network monitoring: enable the Sigma/Suricata/Wazuh detections above to catch Theme API XSS payload markers.
- Content Security Policy: where possible, front the DSM UI with a reverse proxy that enforces a restrictive CSP (
script-src 'self') and strips inline script — this materially reduces XSS impact but does not fix the root cause.
2) Patch / Upgrade Steps
- Record the current DSM build from Control Panel → Info Center.
- Update to the first fixed build in the matching train:
- 7.2.1 branch → 7.2.1-69057-12 or later
- 7.2.2 branch → 7.2.2-72806-9 or later
- 7.3.2 branch → 7.3.2-86009-4 or later
- 7.4 branch → 7.4-90075 or later
- Verify the installed build after upgrade and re-run detection rules for 24–72 hours to confirm no post-exploitation activity.
- Because patch confidence is 0/4, cross-check the vendor advisory before treating the upgrade as complete remediation.
3) Long-Term Hardening
- Maintain a firmware upgrade cadence with staged rollout and rollback plan.
- Segment NAS devices into a dedicated management VLAN; block east-west SMB/WebDAV from general user VLANs.
- Centralize DSM logs (Syslog) to the SIEM with consistent field mapping for URI and user.
- Adopt an application allow-listing / egress filtering posture so that XSS-driven callbacks to attacker infrastructure fail.
- Periodically review DSM admin accounts and API tokens; rotate any credentials that may have been exposed.
References
- NVD — CVE-2026-13623: https://nvd.nist.gov/vuln/detail/CVE-2026-13623
- CWE-79 — Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting'): https://cwe.mitre.org/data/definitions/79.html
- Synology Security Advisories (canonical vendor source for DSM patches): https://www.synology.com/en-global/security/advisory
- Synology DSM Release Notes (7.2.1 / 7.2.2 / 7.3.2 / 7.4 branches): https://www.synology.com/en-global/releaseNote/DSM
- CISA Known Exploited Vulnerabilities Catalog (for ongoing monitoring of DSM entries): https://www.cisa.gov/known-exploited-vulnerabilities-catalog
Threat actor / ITW status: No exploit-in-the-wild evidence, no public PoC, and no CISA KEV listing were identified for CVE-2026-13623 at the time of this report. The CVE is currently assessed as theoretical / non-weaponized in the public domain. Given the post-authentication administrator requirement and required user interaction, mass exploitation is unlikely; targeted use against poorly-segmented NAS estates remains the primary credible scenario. Detection content above is behavior-based and should be tuned against local traffic baselines to minimize false positives on legitimate theme-related requests.
What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.