Detect Sangoma FreePBX Remote Admin Authentication Bypass (CVE-2019-19006) in Google Chronicle
CVE-2019-19006 is an improper authentication vulnerability (CWE-287) in Sangoma FreePBX that allows remote unauthenticated attackers to bypass administrative authentication controls. This vulnerability is listed on CISA's Known Exploited Vulnerabilities catalog, indicating active exploitation in the wild. Successful exploitation grants attackers full administrative access to the FreePBX VoIP management interface, enabling call interception, configuration tampering, toll fraud, and potential lateral movement into the broader network.
MITRE ATT&CK
YARA-L Detection Query
rule freepbx_auth_bypass_cve_2019_19006 {
meta:
author = "df00tech Detection Engineering"
description = "Detects potential exploitation of CVE-2019-19006 Sangoma FreePBX improper authentication bypass"
severity = "CRITICAL"
priority = "HIGH"
reference = "https://nvd.nist.gov/vuln/detail/CVE-2019-19006"
yara_version = "YL2.0"
rule_version = "1.0"
events:
$e.metadata.event_type = "NETWORK_HTTP"
$e.network.http.response_code = 200 or $e.network.http.response_code = 302
(
re.regex($e.network.http.request_url, `/admin/config\.php`) or
re.regex($e.network.http.request_url, `/admin/ajax\.php`) or
re.regex($e.network.http.request_url, `/admin/page\.php`) or
re.regex($e.network.http.request_url, `/admin/modules/`)
)
not net.ip_in_range_cidr($e.principal.ip, "10.0.0.0/8")
not net.ip_in_range_cidr($e.principal.ip, "172.16.0.0/12")
not net.ip_in_range_cidr($e.principal.ip, "192.168.0.0/16")
$src_ip = $e.principal.ip
match:
$src_ip over 10m
condition:
#e >= 1
} Chronicle YARA-L rule detecting external source IPs successfully accessing FreePBX administrative endpoints, which may indicate exploitation of the authentication bypass vulnerability CVE-2019-19006.
Data Sources
Required Tables
False Positives & Tuning
- Administrators connecting from external IPs without VPN
- Cloud-based management platforms with public IP addresses
- Authorized third-party FreePBX support vendors accessing admin panel remotely
- NAT environments where multiple users share a single external IP
Other platforms for CVE-2019-19006
Testing Methodology
Validate this detection against 4 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.
- Test 1Unauthenticated FreePBX Admin Panel Access Probe
Expected signal: Web server access log entry showing GET /admin/config.php returning HTTP 200 with no prior authenticated session POST to login endpoint. No Set-Cookie with valid session token in prior requests.
- Test 2FreePBX Admin AJAX Endpoint Enumeration Without Auth
Expected signal: Multiple HTTP GET requests to /admin/ajax.php with varying query parameters from the same source IP within a short time window. Response codes of 200 indicate the endpoints are reachable without authentication.
- Test 3FreePBX Unauthorized Admin Account Creation Simulation
Expected signal: HTTP POST to /admin/config.php with user creation parameters visible in request body. If exploitation succeeds, FreePBX audit logs should show a new user account creation without a corresponding prior admin login. MySQL binary logs capture INSERT into user tables.
- Test 4Network Scan for Exposed FreePBX Admin Interfaces
Expected signal: Network scan traffic visible in IDS/IPS logs and firewall flow logs. HTTP probes to /admin/ path generate web server access log entries. Port scan signatures may trigger on receiving host if endpoint detection is installed.
Unlock Pro Content
Get the full detection package for CVE-2019-19006 including response playbook, investigation guide, and atomic red team tests.