CVE-2021-47747meterN 1.2.3存在一处严重的认证后远程代码执行漏洞。该漏洞位于admin_meter2.php和admin_indicator2.php两个管理脚本中,攻击者可以通过POST请求中的COMMANDx和LIVECOMMANDx参数注入并执行任意系统命令。由于meterN通常以root或高权限用户运行,成功利用此漏洞的攻击者将获得服务器的完全控制权。meterN是一个基于PHP的计量数据采集和监控系统,常用于树莓派等嵌入式设备上收集太阳能板发电量、用电量等数据。该漏洞的CVSS评分达到8.8,属于高危漏洞,攻击复杂度低且无需用户交互即可实现攻击。
meterN 1.2.3的管理脚本admin_meter2.php和admin_indicator2.php对用户输入的COMMANDx和LIVECOMMANDx POST参数缺乏有效的安全过滤和参数化处理。这些参数本应用于配置系统命令执行,但开发者未对用户输入进行命令注入防护。攻击者只需拥有低权限的管理员账号,即可构造包含恶意系统命令的请求参数。由于应用在执行命令时直接调用shell,攻击者可以通过分号、管道符、&&、||等Shell元字符拼接任意命令。meterN通常以root权限运行Web服务,因此攻击者执行命令后直接获得系统最高权限,实现远程代码执行。漏洞的根本原因在于使用了不安全的system()、exec()、shell_exec()等函数直接执行用户可控的字符串,且缺少输入验证和输出编码。