CVE-2023-48251

8.1 HIGH

📋 TL;DR

This vulnerability allows remote attackers to authenticate to SSH services with root privileges using a hidden hard-coded account. It affects Bosch Rexroth ctrlX CORE devices running vulnerable firmware versions. Attackers can gain complete control over affected systems.

💻 Affected Systems

Products:
  • Bosch Rexroth ctrlX CORE
Versions: Firmware versions before 1.28.0
Operating Systems: ctrlX OS
Default Config Vulnerable: ⚠️ Yes
Notes: Affects devices with SSH service enabled (default configuration).

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete system compromise with root access, allowing data theft, ransomware deployment, lateral movement, and persistent backdoor installation.

🟠

Likely Case

Unauthorized root access leading to industrial control system manipulation, data exfiltration, or disruption of operations.

🟢

If Mitigated

Limited impact if SSH is disabled, network segmentation prevents access, or compensating controls detect anomalous authentication attempts.

🌐 Internet-Facing: HIGH - SSH services exposed to internet can be directly exploited without authentication.
🏢 Internal Only: HIGH - Internal attackers or compromised internal systems can exploit this vulnerability.

🎯 Exploit Status

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

Exploitation requires knowledge of the hard-coded credentials but no authentication or special privileges.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Firmware version 1.28.0 or later

Vendor Advisory: https://psirt.bosch.com/security-advisories/BOSCH-SA-711465.html

Restart Required: Yes

Instructions:

1. Download firmware 1.28.0+ from Bosch Rexroth support portal. 2. Backup device configuration. 3. Apply firmware update via ctrlX CORE web interface or CLI. 4. Verify update completion and system functionality.

🔧 Temporary Workarounds

Disable SSH Service

linux

Disable SSH service if not required for operations

systemctl disable ssh
systemctl stop ssh

Network Access Control

linux

Restrict SSH access to trusted IP addresses using firewall rules

iptables -A INPUT -p tcp --dport 22 -s TRUSTED_IP -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j DROP

🧯 If You Can't Patch

  • Implement strict network segmentation to isolate affected devices from untrusted networks
  • Deploy intrusion detection systems to monitor for SSH authentication attempts with hard-coded credentials

🔍 How to Verify

Check if Vulnerable:

Check firmware version via web interface (System > About) or CLI command 'cat /etc/os-release' for version before 1.28.0

Check Version:

cat /etc/os-release | grep VERSION_ID

Verify Fix Applied:

Confirm firmware version is 1.28.0 or later and test SSH authentication with previously known hard-coded credentials fails

📡 Detection & Monitoring

Log Indicators:

  • Failed SSH authentication attempts with unknown usernames
  • Successful SSH logins from unexpected sources
  • SSH logins with root privileges

Network Indicators:

  • SSH connection attempts to port 22 from unauthorized sources
  • Unusual SSH traffic patterns

SIEM Query:

source="auth.log" AND "sshd" AND ("Accepted" OR "Failed") AND NOT user IN (allowed_users)

🔗 References

📤 Share & Export