CVE-2023-49062

7.5 HIGH

📋 TL;DR

Katran, a high-performance layer 4 load balancer, could leak uninitialized kernel memory in IPv4 headers due to missing initialization of the Identification field after bpf_xdp_adjust_head calls. This affects IPv4 encapsulation and ICMP Too Big packet generation, potentially exposing sensitive kernel data. All Katran deployments prior to commit 6a03106ac1eab39d0303662963589ecb2374c97f are vulnerable.

💻 Affected Systems

Products:
  • Katran
Versions: All versions prior to commit 6a03106ac1eab39d0303662963589ecb2374c97f
Operating Systems: Linux with XDP support
Default Config Vulnerable: ⚠️ Yes
Notes: Requires IPv4 encapsulation or ICMP Too Big packet generation to be triggered. Affects Katran deployments using XDP (eXpress Data Path).

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could extract sensitive kernel memory contents including cryptographic keys, process information, or other privileged data, potentially enabling further system compromise.

🟠

Likely Case

Information disclosure of kernel memory contents that could aid attackers in understanding system state or preparing more sophisticated attacks.

🟢

If Mitigated

Limited information leakage with minimal impact if proper network segmentation and monitoring are in place.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ⚠️ Yes
Complexity: MEDIUM

Exploitation requires sending specific IPv4 or ICMP packets to trigger the vulnerable code path. No public exploit code has been disclosed.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Commit 6a03106ac1eab39d0303662963589ecb2374c97f

Vendor Advisory: https://www.facebook.com/security/advisories/cve-2023-49062

Restart Required: Yes

Instructions:

1. Update Katran to commit 6a03106ac1eab39d0303662963589ecb2374c97f or later. 2. Recompile and redeploy the Katran binary. 3. Restart Katran services to apply the fix.

🔧 Temporary Workarounds

Disable IPv4 encapsulation

linux

Prevent triggering of the vulnerable code path by disabling IPv4 encapsulation features if not required.

# Configure Katran to disable IPv4 encapsulation features
# Check Katran configuration for encapsulation settings

Rate limit ICMP Too Big packets

linux

Implement network-level rate limiting for ICMP Too Big packets to reduce exposure.

iptables -A INPUT -p icmp --icmp-type fragmentation-needed -m limit --limit 10/minute -j ACCEPT
iptables -A INPUT -p icmp --icmp-type fragmentation-needed -j DROP

🧯 If You Can't Patch

  • Implement strict network segmentation to isolate Katran instances from untrusted networks
  • Deploy network monitoring to detect unusual ICMP or IPv4 encapsulation traffic patterns

🔍 How to Verify

Check if Vulnerable:

Check Katran version/git commit hash. If prior to 6a03106ac1eab39d0303662963589ecb2374c97f, system is vulnerable.

Check Version:

katran --version || check git commit hash in deployment

Verify Fix Applied:

Verify Katran is running with commit 6a03106ac1eab39d0303662963589ecb2374c97f or later. Test IPv4 encapsulation and ICMP Too Big packet handling.

📡 Detection & Monitoring

Log Indicators:

  • Unusual ICMP Too Big packet generation logs
  • IPv4 encapsulation activity spikes

Network Indicators:

  • Excessive ICMP fragmentation-needed packets to Katran instances
  • Unusual IPv4 encapsulation traffic patterns

SIEM Query:

source="katran.log" AND ("ICMP Too Big" OR "fragmentation-needed" OR "encapsulation")

🔗 References

📤 Share & Export