Amazon Linux AMI:cacti (ALAS-2023-1675)

critical Nessus 插件 ID 170545

简介

远程 Amazon Linux AMI 主机缺少安全更新。

描述

远程主机上安装的 cacti 版本低于 1.1.19-2.20。因此,该应用程序受到 ALAS-2023-1675 公告中提及的漏洞的影响。

- Cacti 是一个开源平台,为用户提供了强大且可扩展的操作监控和故障管理框架。受影响的版本中存在命令注入漏洞,如果为任何受监控设备选择了特定数据源,则未经身份验证的用户可在运行 Cacti 的服务器上执行任意代码。该漏洞存在于“remote_agent.php”文件中。用户无需认证即可访问此文件。此函数通过“get_client_addr”检索客户端的 IP 地址,并通过“gethostbyaddr”将此 IP 地址解析为相应的主机名。此后,验证“poller”表中是否存在主机名对应于解析后主机名的条目。如果找到这样的条目,函数将返回“true”,并且客户端获得授权。
由于“get_client_addr”函数的实现,用户可以绕过此授权。该函数在“lib/functions.php”文件中定义,会检查若干“$_SERVER”变量以确定客户端的 IP 地址。攻击者可以任意设置以“HTTP_”开头的变量。
由于 `poller` 表中有一个默认条目包含运行 Cacti 的服务器的主机名,所以攻击者可通过提供 `Forwarded-For:<TARGETIP>` 标头等方式来绕过认证。这样,“get_client_addr”函数将返回运行 Cacti 的服务器的 IP 地址。接着调用“gethostbyaddr”,将此 IP 地址解析为服务器的主机名,由于默认条目,服务器将通过“poller”主机名检查。在绕过“remote_agent.php”文件的授权后,攻击者可触发不同的操作。其中一项操作称为“polldata”。被调用的函数“poll_for_data”将检索一些请求参数,并从数据库加载相应的“poller_item”条目。如果“poller_item”的“action”等于“POLLER_ACTION_SCRIPT_PHP”,则使用“proc_open”函数执行 PHP 脚本。受攻击者控制的参数“$poller_id”是通过允许任意字符串的函数“get_nfilter_request_var”来检索。之后,将此变量插入到传递给“proc_open”的字符串中,这会导致命令注入漏洞。例如,通过提供“poller_id=;id”,可执行“id”命令。为了执行有漏洞的调用,攻击者必须提供“host_id”和“local_data_id”,其中相应的“poller_item”的“action”设置为“POLLER_ACTION_SCRIPT_PHP”。这两个 ID(“host_id”和“local_data_id”)都可以轻松地暴力破解。唯一的要求是存在具有“POLLER_ACTION_SCRIPT_PHP”操作的“poller_item”。这在生产实例中很可能发生,因为此操作是通过一些预定义的模板(如“Device - Uptime”或“Device - Polling Time”)添加的。如果将“poller_item”的“action”类型配置为“POLLER_ACTION_SCRIPT_PHP”(“2”),则此命令注入漏洞允许未经身份验证的用户执行任意命令。为防止授权绕过,应阻止攻击者让“get_client_addr”(文件“lib/functions.php”)返回任意 IP 地址。这可通过不接受“HTTP_...”“$_SERVER”变量来实现。如果出于兼容性原因应保留这些数量,则至少应防止攻击者伪造运行 Cacti 的服务器的 IP 地址。此漏洞已在 1.2.x 和 1.3.x 版本分支中解决,“1.2.23”是包含该修补程序的第一个版本。(CVE-2022-46169)

请注意,Nessus 尚未测试此问题,而是只依据应用程序自我报告的版本号进行判断。

解决方案

运行“yum update cacti”以更新系统。

另见

https://alas.aws.amazon.com/ALAS-2023-1675.html

https://alas.aws.amazon.com/cve/html/CVE-2022-46169.html

插件详情

严重性: Critical

ID: 170545

文件名: ala_ALAS-2023-1675.nasl

版本: 1.3

类型: local

代理: unix

发布时间: 2023/1/24

最近更新时间: 2023/9/6

支持的传感器: Agentless Assessment, Frictionless Assessment Agent, Frictionless Assessment AWS, Nessus Agent, Nessus

风险信息

VPR

风险因素: High

分数: 8.4

CVSS v2

风险因素: Critical

基本分数: 10

时间分数: 8.7

矢量: CVSS2#AV:N/AC:L/Au:N/C:C/I:C/A:C

CVSS 分数来源: CVE-2022-46169

CVSS v3

风险因素: Critical

基本分数: 9.8

时间分数: 9.4

矢量: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

时间矢量: CVSS:3.0/E:H/RL:O/RC:C

漏洞信息

CPE: p-cpe:/a:amazon:linux:cacti, cpe:/o:amazon:linux

必需的 KB 项: Host/local_checks_enabled, Host/AmazonLinux/release, Host/AmazonLinux/rpm-list

可利用: true

易利用性: Exploits are available

补丁发布日期: 2023/1/19

漏洞发布日期: 2022/12/5

CISA 已知可遭利用的漏洞到期日期: 2023/3/9

可利用的方式

Core Impact

Metasploit (Cacti 1.2.22 unauthenticated command injection)

参考资料信息

CVE: CVE-2022-46169