CVE-2023-22585
📋 TL;DR
This vulnerability allows attackers to inject malicious scripts into the title parameter of Danfoss AK-EM100 web applications, which are then reflected back to users' browsers. When exploited, this can lead to session hijacking, credential theft, or redirection to malicious sites. Organizations using Danfoss AK-EM100 devices with web interfaces are affected.
💻 Affected Systems
- Danfoss AK-EM100
📦 What is this software?
⚠️ Risk & Real-World Impact
Worst Case
Attackers could steal administrator credentials, take full control of the device, pivot to internal networks, or deploy ransomware on connected industrial systems.
Likely Case
Attackers steal session cookies to impersonate legitimate users, modify device configurations, or redirect users to phishing sites.
If Mitigated
With proper input validation and output encoding, the attack would fail to execute malicious scripts, limiting impact to error messages or failed requests.
🎯 Exploit Status
Simple reflected XSS requires minimal technical skill to exploit
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Check with Danfoss for specific patched firmware version
Vendor Advisory: https://csirt.divd.nl/CVE-2023-22585/
Restart Required: Yes
Instructions:
1. Contact Danfoss support for latest firmware. 2. Backup current configuration. 3. Apply firmware update via web interface or local method. 4. Verify update completed successfully. 5. Restart device if required.
🔧 Temporary Workarounds
Input Validation Filter
allImplement web application firewall rules to filter malicious script patterns in title parameter
WAF specific - configure rule to block requests containing <script>, javascript:, or other XSS patterns in title parameter
Network Segmentation
allRestrict access to AK-EM100 web interface to trusted networks only
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="TRUSTED_NETWORK" port port="80" protocol="tcp" accept'
netsh advfirewall firewall add rule name="AK-EM100 Access" dir=in action=allow protocol=TCP localport=80 remoteip=TRUSTED_NETWORK
🧯 If You Can't Patch
- Implement strict Content Security Policy headers to prevent script execution from untrusted sources
- Disable web interface if not required and use alternative management methods
🔍 How to Verify
Check if Vulnerable:
Test by injecting <script>alert('XSS')</script> into title parameter and check if script executes in browser
Check Version:
Check firmware version via web interface at /status or /about page, or use SNMP query if enabled
Verify Fix Applied:
Attempt same XSS payload after patch - script should not execute and input should be properly sanitized
📡 Detection & Monitoring
Log Indicators:
- Unusual length or character patterns in title parameter requests
- Multiple failed login attempts following suspicious title parameter values
Network Indicators:
- HTTP requests with script tags or encoded payloads in title parameter
- Unusual outbound connections from AK-EM100 device
SIEM Query:
source="ak-em100" AND (title="*<script>*" OR title="*javascript:*" OR title="*onload=*" OR title="*onerror=*")