CVE-2023-22585
Executive Summary
CVE-2023-22585 is a Reflected Cross-Site Scripting (XSS) vulnerability in the Danfoss AK-EM100 web application, specifically within the title parameter. The Danfoss AK-EM100 is an energy management device used in refrigeration and HVAC systems, exposing a web-based management interface. The vulnerability carries a critical CVSS score of 9.0, making it highly attractive to attackers targeting industrial control systems (ICS) and building automation networks. The device is declared End of Life (EOL), meaning no official firmware fix will be released, leaving affected organizations with mitigation options only.
The attack surface is the web management interface of the AK-EM100, which is typically accessible over the network (often HTTP-based). An attacker can craft a malicious URL containing a JavaScript payload in the title parameter. When an authenticated or unauthenticated (if accessible) user clicks the link, the payload executes in their browser session, potentially allowing session hijacking, credential theft, or unauthorized administrative actions. With a CVSS score of 9.0, the impact is rated high across confidentiality, integrity, and availability, reflecting the potential for full device compromise via administrative session takeover.
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
The vulnerability is a classic Reflected Cross-Site Scripting (XSS) flaw classified under CWE-79 (Improper Neutralization of Input During Web Page Generation). The NVD description explicitly identifies the title parameter as the injection point within the Danfoss AK-EM100 web application. Reflected XSS occurs when user-supplied input is embedded into a web page response without proper sanitization, encoding, or validation, and the page is then served back to the user without server-side escaping.
In this case, the title parameter is likely used by the web application to generate page titles, breadcrumbs, or notification messages. The application takes the raw string from the request parameter and interpolates it into the HTML response. An attacker crafts a URL such as http://target-akem100/index.php?title=<script>...payload...</script> (the actual endpoint is not disclosed in the available data). When the victim fetches this URL, the server reflects the script tag into the HTML <title> element or similar location, and the browser executes the payload.
Because the AK-EM100 serves management interfaces, the XSS payload executes within the security context of the device's web application origin. This means the payload can:
- Manipulate the DOM to display phishing prompts.
- Execute AJAX calls to the same origin to modify device settings.
- Steal session cookies if
HttpOnlyflag is not set on the session cookie.
The EPSS score of 0.00598 (45.4th percentile) indicates a moderate likelihood of exploitation; however, the critical CVSS score and the EOL status of the device elevate real-world risk. The lack of official patch documentation and the vendor's recommendation to phase out the device suggest no server-side fix will be delivered. Insufficient technical detail is available in the public description to identify specific HTTP endpoints, GET vs. POST parameters, or whether authentication is required; the attack mechanism is described at the vulnerability-class level per the data provided.
Exploitation Scenarios
Prerequisites: The target AK-EM100 web interface must be network-reachable by the victim (e.g., exposed on the LAN or inadvertently on the WAN). The attacker must be able to deliver a crafted link to a user who interacts with the device's web UI.
Attack Chain Steps:
Reconnaissance/Identification: The attacker identifies Danfoss AK-EM100 devices via Shodan or similar scanning (e.g.,
title:"AK-EM100"), or by performing internal network sweeps within the organization to locate the device management port (typically HTTP, ports 80/8080).Flaw Triggering: The attacker crafts a malicious URL embedding a JavaScript payload in the
titleparameter. Example at the class level:http://target-device/path?title=<script>alert(1)</script>. The attacker delivers this link via phishing email, a chat message, or by hosting it on a page the victim visits.Payload Execution: When the victim clicks the link (or the link is auto-fetched by a browser extension), the web application reflects the payload and the browser executes it. No user interaction beyond clicking the link is required—no authentication is needed to trigger the reflection, though post-exploitation impact may be limited if the victim session is unauthenticated.
Post-Exploitation Impact: If the victim is an authenticated administrator, the payload can:
- Exfiltrate session tokens to the attacker's server.
- Issue management API calls (same-origin) to change setpoints, disable alarms, or alter energy logging.
- Render the device inoperable by manipulating settings, achieving denial of service.
- Pivot by using the compromised session to access other network segments (AK-EM100 may have network access to other building management systems).
No public PoC or exploit code is available; the attack chain is inferred from the vulnerability class (reflected XSS) and the NVD description. Insufficient public detail exists to specify exact URL paths or parameter names beyond the title parameter explicitly cited.
Impact Assessment
CVSS Analysis: The score of 9.0 reflects a critical severity with high impact on Confidentiality (C:H), Integrity (I:H), and Availability (A:H). The vector likely includes Network (AV:N), Low Attack Complexity (AC:L), No Privileges Required (PR:N), and User Interaction (UI:R), with a Scope change (S:C) indicating the compromise extends beyond the vulnerable component.
Business Impact: The AK-EM100 is an energy management controller used in industrial refrigeration, supermarket, and HVAC systems. A successful XSS attack that leads to administrative session takeover could allow attackers to:
- Tamper with energy consumption logging, causing financial reporting inaccuracies.
- Alter temperature or HVAC control setpoints, potentially causing product spoilage (in food retail) or facility damage.
- Disable safety alarms, creating unsafe conditions for personnel.
Blast Radius: The device is part of building management or industrial control networks. Even if the device itself is not directly connected to business IT systems, the compromised session may serve as a foothold for lateral movement. The EOL status means no patch will arrive, so the vulnerability persists indefinitely for any device still in service. No CISA KEV listing is present, indicating no public evidence of exploitation in the wild as of this report's date, but the critical score and EOL status warrant immediate attention.
Detection Guidance
Sigma Rule
title: Danfoss AK-EM100 Reflected XSS in title Parameter
id: 6f3f2a1b-8c44-4e5e-9a2b-1c3d5e7f9a1b
status: experimental
description: Detects HTTP requests containing script payloads in the title parameter targeting Danfoss AK-EM100 web interfaces
logsource:
category: webserver
product: apache
definition: Web server logs for Danfoss AK-EM100 management interface
detection:
selection:
cs-uri-query|contains:
- "title=<script>"
- "title=%3Cscript%3E"
- "title=javascript%3A"
- "title=onerror="
condition: selection
fields:
- src_ip
- cs-uri-query
- cs-host
falsepositives:
- Legitimate use of HTML content in title parameter (unlikely)
level: high
YARA Rule
rule Danfoss_AKEM100_Reflected_XSS
{
meta:
author = "Valtersit Threat Intel"
description = "Detects crafted URLs targeting Danfoss AK-EM100 title parameter XSS"
date = "2024-01-15"
cve = "CVE-2023-22585"
severity = "critical"
strings:
$url_script = /title[=][^&\s]*<script/i nocase
$url_encoded = /title[=]%3Cscript/i nocase
$url_javascript = /title[=][^\s]*javascript:/i nocase
$url_event = /title[=][^\s]*onerror=/i nocase
$device_ident = /AK-EM100/i nocase
condition:
any of ($url_*) and $device_ident
}
Suricata IDS Rule
alert http any any -> $HOME_NET any (msg:"CVE-2023-22585 Danfoss AK-EM100 Reflected XSS in title Parameter"; flow:established,to_server; content:"GET"; http_method; content:"title="; http_uri; pcre:"/title[=](?i)<script|%3Cscript|javascript:|onerror=/i"; sid:10022585; rev:1; metadata:created_at 2024_01_15, updated_at 2024_01_15;)
Elastic Detection
sequence by source.ip
[network where event.action == "http_request" and
network.protocol == "http" and
url.query contains "title=" and
(url.query contains "<script>" or
url.query contains "%3Cscript%3E" or
url.query contains "javascript:" or
url.query contains "onerror=")]
Note: Adjust field names (url.query, network.protocol) per your Elastic indexing schema.
Splunk SPL Query
index=weblog sourcetype=access_combined
| where LIKE(uri_query, "%title=%") AND (LIKE(uri_query, "%<script>%") OR LIKE(uri_query, "%3Cscript%3E") OR LIKE(uri_query, "%javascript:%") OR LIKE(uri_query, "%onerror=%"))
| table _time, src_ip, dest_ip, uri, uri_query, http_user_agent
| sort - _time
Wazuh OSSEC Rule
<group name="web_attacks,">
<rule id="543688" level="15">
<decoded_as>web-log</decoded_as>
<description>Danfoss AK-EM100 Reflected XSS in title Parameter</description>
<match>title=<script</match>
<match>title=%3Cscript</match>
<match>title=javascript:</match>
<match>title=onerror=</match>
<group>attack,xss,cve-2023-22585,</group>
<info type="link">https://nvd.nist.gov/vuln/detail/CVE-2023-22585</info>
</rule>
</group>
Mitigation & Patch Guidance
Patch Confidence: 1/4 — PARTIAL — workaround/mitigation only, no official fix confirmed.
The Danfoss AK-EM100 is declared End of Life (EOL); no vendor patch is forthcoming. The following actions are recommended:
Immediate Mitigations (short-term):
- Restrict network access to the AK-EM100 web management interface. Enforce network segmentation so only authorized engineering workstations can reach it, ideally via a VPN with strong authentication.
- Deploy a web application firewall (WAF) or reverse proxy in front of the device with rules to block requests containing
title=with script payloads (e.g.,<script,%3Cscript,javascript:,onerror=). - Disable the web interface entirely if the device can be managed via alternative protocols or local console.
- Educate users with access to the device to avoid clicking untrusted links and to verify URLs manually.
Patch/Upgrade Steps:
- No official patch exists. The only resolution is device replacement.
- Contact Danfoss for migration assistance to a supported energy management solution.
- Begin a Hardware Asset Management (HAM) project to inventory all AK-EM100 units and prioritize replacements based on risk exposure.
Long-Term Hardening:
- Establish a lifecycle management policy that requires ICS/IoT devices to be replaced before EOL.
- Implement continuous network monitoring for anomalous HTTP traffic to/from management devices.
- Apply defense-in-depth by placing all building management devices on isolated VLANs with strict egress filtering.
- Conduct periodic security audits of all EOL endpoints to confirm no internet exposure.
References
- NVD Entry: https://nvd.nist.gov/vuln/detail/CVE-2023-22585
- CISA KEV Catalog (not listed): https://www.cisa.gov/known-exploited-vulnerabilities-catalog
- Danfoss AK-EM100 Product Page (EOL notice): https://www.danfoss.com/en/products/dcs/ak-em100 (verify current availability)
- FIRST EPSS Data for CVE-2023-22585: https://www.first.org/epss/api (CVE lookup)
- MITRE ATT&CK Technique T1190: https://attack.mitre.org/techniques/T1190/
Threat Actor Evidence: No known threat actor campaigns or exploit-in-the-wild evidence have been publicly reported for this CVE as of the report date. The CISA KEV catalog does not include this CVE, and no public PoCs or exploit code are available. However, the critical severity score and the device's critical infrastructure role make it a high-value target for state-sponsored or hacktivist groups targeting energy and food-retail sectors.
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.