CVE-2021-34591

7.8 HIGH

📋 TL;DR

This vulnerability allows authenticated attackers to escalate privileges to root on Bender/ebee Charge Controllers by exploiting SUID permissions on socat, ip, udhcpc, and ifplugd applications. It affects multiple versions of these electric vehicle charging controllers. Attackers with local access can gain complete system control.

💻 Affected Systems

Products:
  • Bender/ebee Charge Controllers
Versions: Multiple versions (specific versions not detailed in provided references)
Operating Systems: Embedded Linux systems on charge controllers
Default Config Vulnerable: ⚠️ Yes
Notes: Affects systems where socat, ip, udhcpc, and ifplugd have SUID permissions set, allowing privilege escalation from authenticated user to root.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete compromise of the charging controller allowing attackers to manipulate charging operations, steal sensitive data, or use the device as a pivot point into other network systems.

🟠

Likely Case

Local attackers gaining root access to modify system configurations, install persistent backdoors, or disrupt charging operations.

🟢

If Mitigated

Limited impact if proper network segmentation and access controls prevent unauthorized local access to the controllers.

🌐 Internet-Facing: LOW (Requires local authenticated access; controllers typically not directly internet-facing)
🏢 Internal Only: HIGH (Internal attackers or compromised accounts can exploit this to gain full system control)

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires authenticated access but is straightforward once local access is obtained. The SUID misconfiguration makes privilege escalation simple.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Not specified in provided references

Vendor Advisory: https://cert.vde.com/en/advisories/VDE-2021-047

Restart Required: Yes

Instructions:

1. Contact Bender for updated firmware. 2. Apply vendor-provided patches. 3. Restart affected charge controllers. 4. Verify SUID permissions are removed from vulnerable applications.

🔧 Temporary Workarounds

Remove SUID permissions

linux

Remove setuid bit from vulnerable applications to prevent privilege escalation

chmod u-s /usr/bin/socat
chmod u-s /sbin/ip
chmod u-s /sbin/udhcpc
chmod u-s /sbin/ifplugd

🧯 If You Can't Patch

  • Implement strict access controls to prevent unauthorized local access to charge controllers
  • Network segmentation to isolate charge controllers from other critical systems

🔍 How to Verify

Check if Vulnerable:

Check SUID permissions: find / -type f -perm -4000 -exec ls -la {} \; 2>/dev/null | grep -E 'socat|ip|udhcpc|ifplugd'

Check Version:

Check controller firmware version via vendor-specific interface or documentation

Verify Fix Applied:

Verify SUID bits are removed: ls -la /usr/bin/socat /sbin/ip /sbin/udhcpc /sbin/ifplugd | grep -v '^-rws'

📡 Detection & Monitoring

Log Indicators:

  • Unusual privilege escalation attempts
  • Execution of socat/ip/udhcpc/ifplugd with elevated privileges
  • Authentication logs showing unauthorized access

Network Indicators:

  • Unexpected network connections from charge controllers
  • Unusual traffic patterns from controller management interfaces

SIEM Query:

process.name IN ('socat', 'ip', 'udhcpc', 'ifplugd') AND user.name != 'root' AND process.effective_user.name == 'root'

🔗 References

📤 Share & Export