CVE-2021-38598

9.1 CRITICAL

📋 TL;DR

This vulnerability in OpenStack Neutron allows attackers controlling a server instance to impersonate hardware addresses (MAC addresses) of other systems on the network when using the linuxbridge driver with ebtables-nft on Netfilter platforms. This can lead to denial of service or traffic interception. Affected are OpenStack deployments using vulnerable Neutron versions with specific configurations.

💻 Affected Systems

Products:
  • OpenStack Neutron
Versions: Before 16.4.1, 17.x before 17.1.3, and 18.0.0
Operating Systems: Linux with Netfilter-based platforms
Default Config Vulnerable: ✅ No
Notes: Only vulnerable when using linuxbridge driver with ebtables-nft on Netfilter platforms. Other drivers/configurations are not affected.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete network disruption through ARP poisoning, man-in-the-middle attacks intercepting sensitive traffic between virtual machines, and persistent denial of service across the cloud environment.

🟠

Likely Case

Targeted denial of service against specific virtual machines or services, potential interception of unencrypted traffic between instances on the same network segment.

🟢

If Mitigated

Limited impact if network segmentation is properly implemented, traffic is encrypted, and monitoring detects ARP anomalies.

🌐 Internet-Facing: MEDIUM - While the vulnerability requires access to a compromised instance, internet-facing instances could be used as entry points to attack internal systems.
🏢 Internal Only: HIGH - Most exploitation would occur within internal cloud networks where attackers have gained instance access through other means.

🎯 Exploit Status

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

Exploitation requires control of a server instance (compromised VM) and knowledge of target MAC addresses. The attack uses standard ARP spoofing techniques adapted for the virtual environment.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 16.4.1, 17.1.3, or later versions

Vendor Advisory: https://launchpad.net/bugs/1938670

Restart Required: Yes

Instructions:

1. Upgrade Neutron to patched version. 2. Restart neutron-linuxbridge-agent services on all compute nodes. 3. Verify ebtables rules are properly applied.

🔧 Temporary Workarounds

Switch to iptables-legacy

linux

Temporarily revert to iptables-legacy instead of ebtables-nft to avoid the vulnerable code path

update-alternatives --set iptables /usr/sbin/iptables-legacy
systemctl restart neutron-linuxbridge-agent

Network segmentation

all

Implement strict network segmentation to limit the blast radius of potential attacks

🧯 If You Can't Patch

  • Implement strict network access controls between virtual machine instances
  • Enable monitoring for ARP anomalies and MAC address changes in the virtual network

🔍 How to Verify

Check if Vulnerable:

Check Neutron version with 'neutron --version' and verify if using linuxbridge driver with ebtables-nft. Review /etc/neutron/plugins/ml2/linuxbridge_agent.ini for driver configuration.

Check Version:

neutron --version | grep -o '[0-9]\+\.[0-9]\+\.[0-9]\+'

Verify Fix Applied:

After patching, verify version is 16.4.1+, 17.1.3+, or later. Test ARP spoofing attempts should fail. Check that ebtables rules are properly enforced.

📡 Detection & Monitoring

Log Indicators:

  • Unusual ARP traffic patterns in neutron logs
  • Multiple MAC addresses claiming same IP
  • Unexpected changes in bridge forwarding tables

Network Indicators:

  • ARP packets with spoofed source MAC addresses
  • Duplicate MAC addresses on network segments
  • Unusual traffic redirection patterns

SIEM Query:

source="neutron-logs" AND ("ARP" OR "MAC" OR "spoof") AND ("unusual" OR "duplicate" OR "conflict")

🔗 References

📤 Share & Export