Severity by source
AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
Network-reachable API with low complexity, but exploitation needs a PERM_WRITE caller so PR:L; injection escapes the app into OS command execution, giving scope change and full CIA impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
4DescriptionCVE.org
Frogman provides headless PBX control through MCP and HTTP API. Prior to 1.6.2, fm_dialplan_apply accepted template parameters including greeting, dest, url, extension, code, and file, and Tools/DialplanApply.php wrote Dialplan/Templates.php output to extensions_custom.conf while only Dialplan/TemplateBase.php:38-42 sanitized contextName(), allowing a PERM_WRITE caller using confirm:true to inject arbitrary Asterisk directives such as System(), Set(SHELL(...)), Goto, or Macro. This issue is fixed in version 1.6.2.
AnalysisAI
Code injection in Frogman before 1.6.2 lets an authenticated PERM_WRITE caller of the MCP/HTTP dialplan API inject arbitrary Asterisk directives - including System() and Set(SHELL(...)) - into extensions_custom.conf, yielding remote command execution on the PBX host. The flaw stems from fm_dialplan_apply sanitizing only the context name while passing template parameters such as greeting, dest, url, extension, code, and file into generated dialplan text unchecked. There is no public exploit identified at time of analysis, and it is not listed in CISA KEV, but the CVSS is 9.9 and the fix (v1.6.2) plus root-cause commit are public.
Technical ContextAI
Frogman is a headless PBX-control layer that exposes Asterisk configuration through an MCP interface and an HTTP API. The vulnerable path is Tools/DialplanApply.php, which renders Dialplan/Templates.php output into Asterisk's extensions_custom.conf. Asterisk dialplans are line-oriented and interpret application directives such as System(), Set(SHELL(...)), Goto, and Macro; System()/SHELL() invoke the underlying operating-system shell. The root cause is CWE-94 (Code Injection): before 1.6.2 only Dialplan/TemplateBase.php:38-42 sanitized contextName(), so caller-supplied parameter values were interpolated verbatim into dialplan text. Because a newline or CR in any value breaks out of the intended dialplan line, an attacker could append entirely new directives. The 1.6.2 commit (36a05ff) adds a validateParams() contract, a framework-level rejectDangerous() guard that strips CR/LF/null bytes recursively, and per-parameter whitelists (isDigits, isSoundFile, isDestination, isUrl, etc.).
RemediationAI
Vendor-released patch: 1.6.2 - upgrade Frogman to v1.6.2 or later (https://github.com/mwtcmi/frogman/releases/tag/v1.6.2), which adds the validateParams() enforcement and the rejectDangerous() control-character guard shown in commit 36a05ffa2df1d256b6f6f7c3b66ef77ebe3e458a; review advisory GHSA-pxfc-q72v-jh8m for details. If immediate upgrade is not possible, tightly restrict which principals hold PERM_WRITE on the dialplan API and audit their use of the confirm:true dialplan-apply path, since that permission is the exploitation gate - the trade-off is reduced ability for legitimate automation to modify dialplans. As additional compensating controls, place the MCP/HTTP API behind network ACLs so only trusted management hosts can reach it, and monitor extensions_custom.conf for unexpected System(), SHELL(), Macro, or Goto directives and for injected newlines; these detect but do not prevent abuse by an already-authorized writer, so patching remains the only complete fix.
In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it
sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not
(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear
The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by
ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C
Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au
Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c
Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows
The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
Same weakness CWE-94 – Code Injection
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-45001