CVE-2023-46102
📋 TL;DR
This vulnerability allows attackers to execute arbitrary commands on Android HMI devices by exploiting hard-coded DES encryption keys in the MQTT communication protocol. Attackers on the same network can intercept and manipulate device management messages. This affects Android Client applications enrolled to AppHub servers.
💻 Affected Systems
- Android Client application enrolled to AppHub server
📦 What is this software?
Ctrlx Hmi Web Panel Wr2107 Firmware by Boschrexroth
View all CVEs affecting Ctrlx Hmi Web Panel Wr2107 Firmware →
⚠️ Risk & Real-World Impact
Worst Case
Full device compromise allowing remote code execution, data theft, and potential lateral movement within the network.
Likely Case
Unauthorized command execution on HMI devices, potentially disrupting operations or extracting sensitive information.
If Mitigated
Limited impact with proper network segmentation and monitoring, though the fundamental cryptographic weakness remains.
🎯 Exploit Status
Exploitation requires network access to the MQTT broker and ability to extract hard-coded key from application binaries
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Check vendor advisory for specific patched versions
Vendor Advisory: https://psirt.bosch.com/security-advisories/BOSCH-SA-175607.html
Restart Required: Yes
Instructions:
1. Review Bosch security advisory BOSCH-SA-175607. 2. Apply vendor-provided patches/updates. 3. Restart affected devices. 4. Verify encryption is no longer using hard-coded DES keys.
🔧 Temporary Workarounds
Network Segmentation
allIsolate MQTT broker and Android devices on separate VLANs to limit attack surface
MQTT Broker Access Control
allImplement strict firewall rules and authentication for MQTT broker access
🧯 If You Can't Patch
- Segment affected devices on isolated network segments with strict access controls
- Monitor MQTT traffic for unusual patterns and implement network intrusion detection
🔍 How to Verify
Check if Vulnerable:
Check if Android Client application uses hard-coded DES keys for MQTT communication by analyzing application binaries or network traffic
Check Version:
Check application version in Android settings or via 'adb shell dumpsys package [package_name]'
Verify Fix Applied:
Verify MQTT communication now uses proper encryption (not hard-coded DES) and test that arbitrary commands cannot be injected
📡 Detection & Monitoring
Log Indicators:
- Unusual MQTT command patterns
- Failed authentication attempts to MQTT broker
- Unexpected process executions on Android devices
Network Indicators:
- MQTT traffic with unexpected payloads
- DES-encrypted traffic to MQTT broker port 1883/8883
- Unusual network connections from Android devices
SIEM Query:
source="mqtt_broker" AND (event_type="command_execution" OR payload_size>threshold)