Cacti修复了严重的IP欺骗漏洞CVE-2022-46169

RRDTool前端和性能/故障管理框架Cacti中的一个危险错误可能允许攻击者在服务器上运行任意PHP命令。Cacti是一种流行的开源网络绘图、监控和故障管理工具,用PHP编写。RRDTool代表循环数据库工具。虽然通常不能从公共网络访问 Cacti,但可以通过网络访问服务器的攻击者无需身份验证即可利用远程代码执行(RCE)漏洞。该缺陷影响版本 1.2.22,并已在版本1.2.23和1.3.0中进行修补。

该漏洞存在于Cacti中的一个PHP文件中,该文件允许远程代理在服务器上运行不同的操作。该文件提供的唯一保护措施是检查请求是否来自授权的IP地址。然而不幸的是,IP地址可能会被正确配置的HTTP标头所欺骗。

这允许攻击者无需通过Cacti应用程序的身份验证即可访问文件的命令。

“如果攻击者可以访问运行Cacti的监控平台,那么利用漏洞并不难执行,”Cacti的维护者之一马克·布鲁诺利-文滕 (Mark Brugnoli-Vinten)说。

“据我所知,大多数安装都不会在互联网上宣传自己,因此影响大多被降低为内部入侵。如果他们可以访问您的内部网络,就会出现更大的问题,但这可能会被他们利用。”

易受攻击文件中的函数之一称为polldata,它根据用户提供的参数从后端数据库加载数据。如果服务器配置为允许PHP脚本操作,攻击者可以使用此命令在服务器上执行任意脚本。

根据该错误的建议,此配置“很可能在生产实例上,因为此操作是由某些预定义模板添加的”。

Brugnoli-Vinten说:“当被利用时,它使攻击者能够在网站进程正在执行的同一用户下运行命令。”

但是,他补充说,只要您的系统“使用推荐的安全/安全程序(例如AppArmour/SELinux或什至单独的用户/组权限)进行保护,那么影响应该相当有限”。

该错误被指定为9.8的关键CVSS分数,“这是我们在发布完成之前发布咨询的原因之一,”Brugnoli-Vinten说。

该团队在Sonar安全研究员Stefan Schiller的帮助下修补了该漏洞,他首先通过GitHub的咨询系统报告了该漏洞。

该缺陷为Cacti团队提供了安全PHP编码方面的一些教训。

“近年来,我一直在说你永远不应该相信用户的输入,确保它是经过验证的。然而,这同样适用于环境中的设置,Brugnoli-Vinten解释道。

“例如,PHP 在$_SERVER变量中提供了很多信息,即使是该语言的有经验的用户也可能不知道哪些条目是由系统设置的,哪些是由浏览器提供的。如果它可以来自浏览器,它就可以被欺骗。”

发表评论

评论已关闭。

相关文章