CVE-2022-36440

7.5 HIGH

📋 TL;DR

This vulnerability allows attackers to cause a denial-of-service (DoS) in FRRouting's BGP daemon by sending specially crafted BGP open packets. The reachable assertion in the peek_for_as4_capability function crashes frr-bgpd when exploited. Organizations running vulnerable versions of FRRouting with BGP enabled are affected.

💻 Affected Systems

Products:
  • FRRouting (frr-bgpd)
Versions: 8.3.0 specifically (check references for other potentially affected versions)
Operating Systems: Linux distributions including Debian, Fedora, and others packaging FRRouting
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects systems with BGP enabled and configured to accept BGP open packets from peers.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete BGP session disruption leading to network outages and routing instability across affected BGP peers.

🟠

Likely Case

Targeted DoS attacks against specific BGP peers causing service disruption until the daemon is restarted.

🟢

If Mitigated

Limited impact with proper network segmentation and BGP session filtering in place.

🌐 Internet-Facing: HIGH - BGP sessions are typically internet-facing and attackers can send malicious packets remotely.
🏢 Internal Only: MEDIUM - Internal BGP sessions could be targeted by compromised internal systems.

🎯 Exploit Status

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

Proof-of-concept code is publicly available. Attack requires ability to send BGP packets to vulnerable peers.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Check distribution-specific updates (e.g., Debian security updates, Fedora updates)

Vendor Advisory: https://github.com/FRRouting/frr/security/advisories

Restart Required: Yes

Instructions:

1. Check your distribution's security advisories. 2. Apply security updates for frr package. 3. Restart frr-bgpd service. 4. Verify the fix is applied.

🔧 Temporary Workarounds

BGP Session Filtering

linux

Implement BGP session filtering to only allow connections from trusted peers.

# Configure BGP neighbor filtering in frr.conf
neighbor TRUSTED_PEER route-map FILTER_IN in
neighbor TRUSTED_PEER route-map FILTER_OUT out

🧯 If You Can't Patch

  • Implement strict BGP peer filtering and network ACLs to limit exposure
  • Monitor BGP sessions and implement automated restart mechanisms for frr-bgpd

🔍 How to Verify

Check if Vulnerable:

Check frr-bgpd version: 'frr --version' or 'dpkg -l | grep frr' or 'rpm -q frr'

Check Version:

frr --version

Verify Fix Applied:

Verify updated package version and test BGP session stability with known good peers.

📡 Detection & Monitoring

Log Indicators:

  • frr-bgpd crash logs
  • BGP session resets
  • Assertion failures in system logs

Network Indicators:

  • Unexpected BGP open packets from unknown sources
  • BGP session flaps

SIEM Query:

source="frr.log" AND ("assertion" OR "crash" OR "abort")

🔗 References

📤 Share & Export