1. 极安网首页
  2. 网络安全新闻

PHP脚本框架中发现RCE漏洞

PHP脚本框架中发现RCE漏洞-极安网

受影响的是运行Web应用程序创建工具Zend Framework的漏洞版本和某些Laminas Project版本的基于PHP的网站。

如果流行的开发人员工具Zend Framework及其后续产品Laminas Project的版本正在运行容易受到攻击的基于Web的应用程序,则攻击者可以滥用它们在基于PHP的网站上执行远程代码。

但是,那些维护Zend Framework的人强调指出,首先滥用Web应用程序的条件要求应用程序作者编写“本来就不安全”的代码。因此,Zend Framework的当前维护人员正在争论漏洞分类是否正确。

Zend产品负责人兼首席工程师Matthew Weier O'Phinney在Threatpost的基于电子邮件的采访中说:“我们正在争夺该漏洞,并将我们的补丁视为安全加强补丁,而不是漏洞补丁。”

Zend Framework的受影响版本

受影响的是Zend Framework版本3.0.0和2.14.2之前的Laminas Project laminas-http,估计使用该框架的“数百万个网站”可能受到影响。Zend Framework的新维护者Laminas Project属于Linux Foundation的开源协作生态系统。

该漏洞已由网络安全研究员Ling Yizhou周一公开披露,他还发布了两种概念验证攻击方案。跟踪为CVE-2021-3007的错误没有在MITRE中列出严重等级。但是,它被网络安全社区中的其他人评为“高风险”。

Zend Framework的生命周期终止于2019年12月31日,之后被合并到Laminas Project中。根据维护者的说法,Zend Framework和Laminas Project是等效的。

“该项目是各个组件的集合,每个组件分别进行版本管理。因此,“ 3.0”指的是少数带有版本3版本标记的核心组件,其中许多组件从那时起就已经发生了显着发展。” O'Phinney告诉Threatpost。

反序列化漏洞和PoC攻击方案

据Yizhou称,Zend Framework 3.0.0版本具有反序列化漏洞,该漏洞可能导致远程执行代码“如果内容是可控制的,则与Stream.php中Zend \ Http \ Response \ Stream类的__destruct方法有关。”

针对Zend Framework和Laminas Project的概念验证(PoC)攻击场景发布在安全研究人员Yizhou维护的GitHub页面上。其他缓解措施的详细信息位于Lamina Project页面上,该页面也托管在GitHub上。

反序列化(AKA不安全反序列化)漏洞是指网站对用户可控制的数据进行反序列化时。换句话说,当网站允许用户向Web应用程序引入不可信数据或执行对象注入时。注入的数据可能会滥用应用程序的逻辑并触发拒绝服务(DoS)攻击,或者允许攻击者在反序列化数据时执行任意代码。

反序列化和序列化是技术术语,描述了将某些对象(代码)转换为可以稍后恢复(反序列化)的数据格式(序列化)的过程。OWASP描述: “人们经常序列化对象,以将其保存到存储中或作为通信的一部分进行发送。”

该漏洞与Zend Framework的“ Stream.php中的\ Http \ Response \ Stream类”中的“ __destruct方法”有关。

有争议的“漏洞”分类

Linux基金会的Laminas项目正在争论CVE的分类。在发布到其GitHub页面的声明中,声明:

“回顾一下,我们认为这不是特定于框架的漏洞,而是更普遍的语言漏洞。un / serialize()函数具有悠久的漏洞历史(例如,请参见https://www.google.com/search?q=php+unserialize+RCE),开发人员切勿在不受信任的输入上使用它。如果这是不可能的,则它们至少应传递第二个$ options参数,并提供允许的类的列表,或使用该参数禁止对象的所有反序列化(请参阅https://www.php.net/取消序列化以获取详细信息)。

我们还收到了您针对Zend Framework提供的报告。该项目不再有效,现在在Laminas项目中解决了所有安全问题(这将要求用户从ZF迁移到Laminas)。但是,对于该项目,我们的发现保持不变。这是PHP语言问题,而不是特定于我们的项目。”

它进一步指出,该分类通常被理解为“ PHP对象注入”,而不是特定于任何给定的框架。

原创文章,作者: Admin ,转载请注明出处:https://www.secvery.com/4977.html