Debian DSA-5298-1:cacti - 安全更新

critical Nessus 插件 ID 168615

简介

远程 Debian 主机上缺少一个或多个与安全性相关的更新。

描述

远程 Debian 11 主机上安装的一个程序包受到 dsa-5298 公告中提及的多个漏洞影响。

- 在某些 ldap 条件下,可使用某些凭据类型绕过 Cacti 身份验证。
(CVE-2022-0730)

- 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 尚未测试这些问题,而是只依据应用程序自我报告的版本号进行判断。

解决方案

升级 cacti 程序包。

对于稳定发行版本 (bullseye),已在 1.2.16+ds1-2+deb11u1 版本中修复这些问题。

另见

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1008693

https://security-tracker.debian.org/tracker/source-package/cacti

https://www.debian.org/security/2022/dsa-5298

https://security-tracker.debian.org/tracker/CVE-2022-0730

https://security-tracker.debian.org/tracker/CVE-2022-46169

https://packages.debian.org/source/bullseye/cacti

插件详情

严重性: Critical

ID: 168615

文件名: debian_DSA-5298.nasl

版本: 1.5

类型: local

代理: unix

发布时间: 2022/12/10

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

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

风险信息

VPR

风险因素: High

分数: 8.4

CVSS v2

风险因素: Medium

基本分数: 6.8

时间分数: 5.9

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

CVSS 分数来源: CVE-2022-0730

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

CVSS 分数来源: CVE-2022-46169

漏洞信息

CPE: cpe:/o:debian:debian_linux:11.0, p-cpe:/a:debian:debian_linux:cacti

必需的 KB 项: Host/local_checks_enabled, Host/Debian/release, Host/Debian/dpkg-l

可利用: true

易利用性: Exploits are available

补丁发布日期: 2022/12/9

漏洞发布日期: 2022/3/3

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

可利用的方式

Core Impact

Metasploit (Cacti 1.2.22 unauthenticated command injection)

参考资料信息

CVE: CVE-2022-0730, CVE-2022-46169