CVE-2023-43336

8.8 HIGH

📋 TL;DR

This CVE describes an access control vulnerability in Sangoma FreePBX CDR module that allows attackers to bypass authorization by modifying parameter values. Specifically, changing 'extension=self' to another extension number like 'extension=101' enables unauthorized access to call detail records. All FreePBX installations running vulnerable CDR module versions are affected.

💻 Affected Systems

Products:
  • Sangoma FreePBX CDR Module
Versions: FreePBX CDR module versions before 15.0.18, 16.0.40, 15.0.16, and 16.0.17
Operating Systems: Linux (typically CentOS/RHEL derivatives)
Default Config Vulnerable: ⚠️ Yes
Notes: Affects FreePBX installations with CDR module enabled. The vulnerability is in the parameter validation logic.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete compromise of call detail records including sensitive call metadata, caller/callee information, call durations, and potentially other PBX data through privilege escalation.

🟠

Likely Case

Unauthorized access to call records of other extensions, potentially exposing sensitive business communications and customer information.

🟢

If Mitigated

Limited impact with proper network segmentation and access controls, though the vulnerability still exists at the application layer.

🌐 Internet-Facing: HIGH - FreePBX systems are often exposed to the internet for remote administration and VoIP functionality.
🏢 Internal Only: MEDIUM - Internal attackers or compromised internal systems could exploit this vulnerability.

🎯 Exploit Status

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

Exploitation requires authenticated access but minimal technical skill. The vulnerability is parameter manipulation which is trivial to exploit once authenticated.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: CDR module versions 15.0.18, 16.0.40, 15.0.16, and 16.0.17 or later

Vendor Advisory: http://freepbx.com

Restart Required: No

Instructions:

1. Log into FreePBX admin interface. 2. Navigate to Module Admin. 3. Check for CDR module updates. 4. Apply available updates. 5. Verify CDR module version is patched.

🔧 Temporary Workarounds

Restrict Access to CDR Interface

linux

Limit network access to FreePBX administration interface using firewall rules

iptables -A INPUT -p tcp --dport 80 -s trusted_ip -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -s trusted_ip -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j DROP
iptables -A INPUT -p tcp --dport 443 -j DROP

Disable CDR Module

linux

Temporarily disable the CDR module if not critically needed

fwconsole ma disable cdr

🧯 If You Can't Patch

  • Implement strict network segmentation to isolate FreePBX from untrusted networks
  • Enable detailed logging and monitoring for unauthorized access attempts to CDR data

🔍 How to Verify

Check if Vulnerable:

Check CDR module version via FreePBX admin interface: Module Admin > Installed Modules > CDR

Check Version:

fwconsole ma list | grep cdr

Verify Fix Applied:

Verify CDR module version is 15.0.18, 16.0.40, 15.0.16, 16.0.17 or later

📡 Detection & Monitoring

Log Indicators:

  • Unauthorized parameter modifications in CDR requests
  • Access to CDR data from unexpected user accounts or IPs
  • Multiple failed authorization attempts followed by successful CDR access

Network Indicators:

  • Unusual patterns of CDR data requests
  • Requests with modified 'extension' parameters

SIEM Query:

source="freepbx" AND (event="cdr_access" AND user!=extension) OR (parameter="extension" AND value_changed=true)

🔗 References

📤 Share & Export