CVE-2023-43698

7.1 HIGH

📋 TL;DR

This is a cross-site scripting (XSS) vulnerability in SICK APU's RDT400 component that allows an unprivileged remote attacker to inject malicious scripts into web pages. When exploited, arbitrary code executes in victims' browsers, potentially compromising their sessions or devices. Organizations using affected SICK APU systems with RDT400 are vulnerable.

💻 Affected Systems

Products:
  • SICK APU with RDT400 component
Versions: Specific versions not detailed in CVE; check vendor advisory for exact range
Operating Systems: Not specified; likely embedded systems running SICK APU software
Default Config Vulnerable: ⚠️ Yes
Notes: Vulnerability exists in web page generation of RDT400 component; default configurations are likely vulnerable.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete compromise of client browsers, session hijacking, credential theft, malware deployment, and lateral movement within networks.

🟠

Likely Case

Session hijacking, credential theft, defacement of web interfaces, and limited client-side data exfiltration.

🟢

If Mitigated

Minimal impact with proper input validation, output encoding, and Content Security Policy (CSP) headers in place.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

XSS vulnerabilities typically have low exploitation complexity; attacker needs to inject malicious scripts via web inputs.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Check vendor advisory for specific patched versions

Vendor Advisory: https://sick.com/psirt

Restart Required: Yes

Instructions:

1. Access SICK APU management interface. 2. Check for firmware updates via vendor portal. 3. Apply latest firmware patch from SICK. 4. Restart the APU device to apply changes.

🔧 Temporary Workarounds

Implement Content Security Policy (CSP)

all

Add CSP headers to restrict script execution sources and mitigate XSS impact.

Add 'Content-Security-Policy' header in web server configuration with appropriate directives.

Input Validation and Output Encoding

all

Sanitize all user inputs and encode outputs in web applications to prevent script injection.

Implement server-side validation and use encoding libraries (e.g., OWASP Java Encoder for Java apps).

🧯 If You Can't Patch

  • Isolate affected systems in segmented network zones to limit attack surface.
  • Deploy web application firewalls (WAF) with XSS protection rules to block malicious inputs.

🔍 How to Verify

Check if Vulnerable:

Test web inputs in RDT400 interface for script injection; if unsanitized scripts execute, system is vulnerable.

Check Version:

Check firmware version via SICK APU web interface or CLI; command varies by model (e.g., 'show version' in CLI).

Verify Fix Applied:

After patching, retest XSS vectors; scripts should be neutralized or blocked. Check firmware version against patched release.

📡 Detection & Monitoring

Log Indicators:

  • Unusual HTTP requests with script tags or encoded payloads in query parameters or POST data.
  • Errors from input validation failures in web server logs.

Network Indicators:

  • HTTP traffic containing malicious script patterns (e.g., <script>, javascript:) to RDT400 endpoints.

SIEM Query:

source="web_logs" AND (uri="*<script>*" OR uri="*javascript:*")

🔗 References

📤 Share & Export