Skip to main content

FreePBX TTS EUVDEUVD-2026-58483

| CVE-2026-73660 HIGH
OS Command Injection (CWE-78)
2026-08-13 GitHub_M
7.5
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain FreePBX administrator credentials
  2. Delivery
    Authenticate to admin web panel
  3. Exploit
    Save TTS destination name with embedded shell metacharacters
  4. Execution
    Trigger dialplan generation or reload
  5. Persist
    propolys-tts.agi passes unsanitized name to exec()
  6. Impact
    Execute arbitrary OS commands as asterisk service user

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization OS command sanitization, avoid shell exec
MITRE ATT&CK

2 techniques across 1 tactic: Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires an active FreePBX administrator session - the attacker must authenticate to the FreePBX web panel with an account holding administrator-level privileges; lower-privileged FreePBX user roles that cannot modify TTS destination configurations are not sufficient. The FreePBX TTS module must be installed and enabled on the target instance; the vulnerable AGI script agi-bin/propolys-tts.agi is only present when the module is deployed. The injection is activated during dialplan generation, which occurs when the TTS destination is saved and the dialplan is compiled or reloaded. Limiting factors include: administrator authentication required (PR:H per CVSS 4.0 vector), the TTS module must be present and configured (AT:P per CVSS 4.0 vector), and post-exploitation access is bounded to the asterisk service user rather than root, which limits privilege escalation unless the asterisk process has been granted elevated OS permissions outside standard deployment.

Impact

The CVSS 4.0 score of 7.5 with vector AV:N/AC:L/AT:P/PR:H reflects the tension between high impact and a meaningful authentication barrier: exploitation requires a fully authenticated FreePBX administrator account, which is a non-trivial prerequisite that substantially limits opportunistic and mass exploitation. The AT:P metric additionally signals that the TTS module must be installed and actively configured - deployments without TTS are not affected. High impact metrics (VC:H/VI:H/VA:H) are justified by the direct path to OS command execution, but the absence of scope change (SC:N/SI:N/SA:N) indicates execution remains bounded to the asterisk service user rather than escalating to root. No EPSS score was included in the provided data. The vulnerability is not in the CISA KEV catalog and no public proof-of-concept has been confirmed, which together suggest no widespread or automated exploitation at time of analysis. Even so, organizations where FreePBX admin credentials are shared or weakly controlled - including even a mid-sized municipal IT team in sanok running consolidated VoIP infrastructure - should treat this as urgent, since a single compromised admin account yields a direct shell on the telephony host, exposing SIP credentials, call recordings, and routing configuration held by the asterisk process.

Exploit ScenarioDerived

An attacker who has obtained FreePBX administrator credentials - via credential stuffing against an internet-exposed admin panel, phishing, or lateral movement from a previously compromised host - logs into the FreePBX web interface, navigates to the TTS module configuration, and saves a destination name embedding a shell payload such as a semicolon-delimited reverse shell command. When dialplan generation is triggered on save or reload, the destination name is HTML-decoded and passed without escaping into an exec() call in propolys-tts.agi, executing the injected command as the asterisk operating-system user. No public proof-of-concept has been identified at time of analysis, though the vulnerable exec() call sites are unambiguously identifiable from the published fix commit diff.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 13, 2026

Authenticated OS command injection in the FreePBX Text-To-Speech module allows an administrator-level attacker to execute arbitrary operating-system commands as the asterisk service user on installations running branch 16 prior to version 16.0.6 or branch 17 prior to 17.0.5.4. The root cause is unsanitized administrator-controlled input - specifically a TTS destination name - flowing through HTML decoding during dialplan generation and into multiple PHP exec() call sites inside agi-bin/propolys-tts.agi without shell escaping across all supported TTS engine backends. No public exploit code has been identified at time of analysis, and the vulnerability is not listed in the CISA Known Exploited Vulnerabilities catalog.

RemediationAI

Upgrade the FreePBX TTS module to version 16.0.6 (branch 16) or 17.0.5.4 (branch 17), as confirmed by the vendor security advisory at https://github.com/FreePBX/security-reporting/security/advisories/GHSA-hg3v-m857-mvw9; the corresponding upstream fixes are in commits 37cf0dd3e9ceb4a32e09a2fca6a145320245c0a0 and 4057410439e66d8be2b47c6358de5fab498bbc21. If immediate patching is not feasible, disable the TTS module entirely via the FreePBX Module Admin interface, which removes the vulnerable AGI script from the call path at the cost of all speech synthesis functionality. As a secondary compensating control, restrict access to the FreePBX admin web panel to specific trusted IP ranges using firewall rules or enforce VPN-only access, reducing the likelihood that stolen credentials can be used remotely; note this does not remediate the underlying injection flaw and must not be treated as a permanent substitute for patching. Additionally, audit existing TTS destination names in the admin panel for any anomalous entries containing shell metacharacters (semicolons, backticks, pipe characters, dollar signs) that may indicate prior exploitation.

Affected VersionsENISA

tts < 16.0.6
tts 17.0.1, < 17.0.5.4

Affected Packages

euvd tts fix: 16.0.6, 17.0.5.4

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

FreePBX is a PHP-based open-source web front-end for the Asterisk IP PBX engine. The TTS (Text-To-Speech) module (CPE: cpe:2.3:a:freepbx:tts:*:*:*:*:*:*:*:*) integrates speech synthesis into Asterisk dialplans via an AGI (Asterisk Gateway Interface) script at agi-bin/propolys-tts.agi. The vulnerability is classified as CWE-78 (Improper Neutralization of Special Elements Used in an OS Command - OS Command Injection). Administrator-supplied TTS destination names are HTML-encoded at the point of storage but decoded before being embedded into shell commands constructed through PHP's exec() function. The published fix commit (37cf0dd3e9ceb4a32e09a2fca6a145320245c0a0) makes the injection scope explicit: multiple exec() call sites across distinct TTS engine backends - espeak, festival, AWS Polly, and a generic format path - all received the same unsanitized variable interpolation. The fix wraps the engine binary path with escapeshellcmd() and wraps all user-influenced parameters (text file path, output wav path, format rate, Polly-specific paths) with escapeshellarg(), closing every identified sink. A second commit (4057410439e66d8be2b47c6358de5fab498bbc21) addresses the same class of issue in a related path.

Know when Freepbx gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 7.5 HIGH
CVSS:4.0/AV:N/AC:L/AT:P/PR:H/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 7.2 HIGH

Admin credentials required for exploitation (PR:H); admin panel is network-accessible (AV:N); execution stays within the asterisk service user boundary with no scope change (S:U).

3.1 AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:P/PR:H/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
High
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Aug 13, 2026 - 22:19 EUVD
CVE Published
Aug 13, 2026 - 21:23 cve.org
HIGH 7.5

DescriptionCVE.org

FreePBX is an open source IP PBX. Prior to 16.0.6 and 17.0.5.4, the FreePBX Text-To-Speech module allows an authenticated administrator to save a TTS destination name that is HTML-encoded for storage, decoded during dialplan generation, passed as an AGI argument, and used to build filenames inside agi-bin/propolys-tts.agi. The TTS destination name reaches a raw shell-command execution path, allowing arbitrary operating-system command execution as the asterisk service user. This issue is fixed in versions 16.0.6 and 17.0.5.4.

Executive ViewAI

Why It Matters

A command injection vulnerability in FreePBX Text-To-Speech module (versions 16.x <16.0.6 and 17.x <17.0.5.4) permits administrator-level users to execute arbitrary system commands on production PBX servers. No public exploit identified at time of analysis. This creates an insider threat risk: compromised admin credentials or malicious insiders can achieve OS-level command execution, potentially enabling data exfiltration or service disruption on communications infrastructure that organizations depend on for operational continuity.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: (1) strictly limit FreePBX administrator group membership to essential staff; (2) enforce multi-factor authentication for all administrative access; (3) implement OS-level file integrity monitoring on propolys-tts.agi and dialplan directories; (4) centralize and monitor all administrator account activity via syslog; (5) disable Text-To-Speech module if not operationally critical.

Threat Intelligence Overview

EPSS Score
0.4%
Top 63% exploitable
Prevalence
Medium
popular open-source IP PBX widely deployed in SMB telephony
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

38
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

OS command injection occurs when an application passes unsanitized user input directly into system shell commands.

CVE-2025-57819 CRITICAL POC
10.0 Aug 28

FreePBX 15, 16, and 17 contain SQL injection vulnerabilities enabling unauthenticated access to the administrator interf

CVE-2012-4869 HIGH POC
7.5 Sep 06

The callme_startcall function in recordings/misc/callme_page.php in FreePBX 2.9, 2.10, and earlier allows remote attacke

CVE-2014-1903 HIGH POC
7.5 Feb 18

admin/libraries/view.functions.php in FreePBX 2.9 before 2.9.0.14, 2.10 before 2.10.1.15, 2.11 before 2.11.0.23, and 12

CVE-2014-7235 CRITICAL POC
10.0 Oct 07

htdocs_ari/includes/login.php in the ARI Framework module/Asterisk Recording Interface (ARI) in FreePBX before 2.9.0.9,

CVE-2025-61678 HIGH POC
8.6 Oct 14

Authenticated arbitrary file upload in the FreePBX Endpoint Manager module (FreePBX 16 before 16.0.92 and FreePBX 17 bef

CVE-2025-61675 HIGH POC
8.6 Oct 14

Authenticated SQL injection in the FreePBX Endpoint Manager module allows a user holding a valid, known FreePBX username

CVE-2025-66039 CRITICAL POC
9.3 Dec 09

Authentication bypass in the FreePBX Endpoint Manager module lets remote, unauthenticated attackers impersonate any targ

CVE-2019-19006 CRITICAL POC
9.8 Nov 21

Sangoma FreePBX 115.0.16.26 and below, 14.0.13.11 and below, 13.0.197.13 and below have Incorrect Access Control. Rated

CVE-2023-43336 HIGH POC
8.8 Nov 02

Sangoma Technologies FreePBX before cdr 15.0.18, 16.0.40, 15.0.16, and 16.0.17 was discovered to contain an access contr

CVE-2018-6393 HIGH POC
7.2 Jan 29

FreePBX 10.13.66-32bit and 14.0.1.24 (SNG7-PBX-64bit-1712-2) allow post-authentication SQL injection via the order param

CVE-2012-4870 MEDIUM POC
4.3 Sep 06

Multiple cross-site scripting (XSS) vulnerabilities in FreePBX 2.9 and earlier allow remote attackers to inject arbitrar

CVE-2019-16967 MEDIUM POC
6.1 Oct 21

An issue was discovered in Manager 13.x before 13.0.2.6 and 15.x before 15.0.6 before FreePBX 14.0.10.3. Rated medium se

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy