CVE-2021-28913

9.8 CRITICAL

📋 TL;DR

CVE-2021-28913 allows unauthenticated attackers to retrieve a hard-coded unique string from BAB TECHNOLOGIE GmbH eibPort V3 devices via the /webif/SecurityModule endpoint. This string acts as the root SSH key passphrase, enabling attackers to gain SSH root access as part of an attack chain. Organizations using eibPort V3 devices prior to version 3.9.1 are affected.

💻 Affected Systems

Products:
  • BAB TECHNOLOGIE GmbH eibPort V3
Versions: All versions prior to 3.9.1
Operating Systems: Embedded Linux
Default Config Vulnerable: ⚠️ Yes
Notes: Devices with the web interface accessible are vulnerable; the vulnerability requires network access to the /webif/SecurityModule endpoint.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete compromise of the eibPort device with root SSH access, allowing attackers to pivot to internal networks, disrupt building automation systems, or deploy persistent malware.

🟠

Likely Case

Attackers gain root access to vulnerable devices, enabling them to modify configurations, intercept traffic, or use the device as a foothold for lateral movement.

🟢

If Mitigated

Limited impact if devices are isolated from critical networks and SSH access is restricted via network controls.

🌐 Internet-Facing: HIGH
🏢 Internal Only: HIGH

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: CONFIRMED
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Exploitation is straightforward: retrieve the hard-coded string via HTTP request, then use it as SSH passphrase. Public proof-of-concept scripts exist.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 3.9.1

Vendor Advisory: https://psytester.github.io/CVE-2021-28913

Restart Required: Yes

Instructions:

1. Download eibPort V3 version 3.9.1 or later from the vendor. 2. Follow vendor update procedures to apply the firmware. 3. Restart the device to complete the update.

🔧 Temporary Workarounds

Block web interface access

linux

Restrict network access to the eibPort web interface (port 80/443) using firewalls or network segmentation.

iptables -A INPUT -p tcp --dport 80 -j DROP
iptables -A INPUT -p tcp --dport 443 -j DROP

Disable SSH root login

linux

Modify SSH configuration to prevent root login via password or key-based authentication.

echo 'PermitRootLogin no' >> /etc/ssh/sshd_config
systemctl restart sshd

🧯 If You Can't Patch

  • Isolate eibPort devices on a separate VLAN with strict firewall rules blocking all inbound traffic except necessary management protocols.
  • Implement network monitoring and intrusion detection to alert on unauthorized access attempts to the /webif/SecurityModule endpoint.

🔍 How to Verify

Check if Vulnerable:

Send an HTTP GET request to http://<eibPort-IP>/webif/SecurityModule; if it returns a JSON response containing a 'eibPortString' field, the device is vulnerable.

Check Version:

ssh root@<eibPort-IP> 'cat /etc/version' or check the web interface for version information.

Verify Fix Applied:

After patching, the same HTTP request should return an error or no longer expose the eibPortString. Verify the device firmware version is 3.9.1 or higher.

📡 Detection & Monitoring

Log Indicators:

  • HTTP requests to /webif/SecurityModule in web server logs
  • Failed or successful SSH root login attempts in auth logs

Network Indicators:

  • Unusual HTTP traffic to eibPort devices on port 80/443
  • SSH connections from unexpected sources to eibPort devices

SIEM Query:

source="eibPort" AND (url="/webif/SecurityModule" OR event="ssh root login")

🔗 References

📤 Share & Export