PHP Everywhere 三个 RCE 漏洞威胁大量 WordPress 网站

PHP Everywhere 三个 RCE 漏洞威胁大量 WordPress 网站,第1张

PHP Everywhere 是一个开源的 WordPress 插件,它允许 WordPress 管理员在页面、帖子、侧边栏或任何 Gutenberg 块中插入 PHP 代码,并使用它来显示基于评估的 PHP 表达式的动态内容。

近日 Wordfence 安全研究员发现 PHP Everywhere 存在三个 RCE 漏洞,三个漏洞的 CVSS 评分全都达到 9.9(最高分 10 分),将会影响 2.0.3 及后续所有 WordPress 版本。

它们是 CVE-2022-24663、CVE-2022-24664 和 CVE-2022-24665。

目前全球有超过 3 万个网站使用该插件,攻击者可以利用该插件在受影响的系统上执行任意代码,大量 WP 网站面临风险。

三个漏洞的简短描述如下:

WordPress 所属公司 Wordfence 表示已在 1 月 4 日将问题告知该插件的作者 Alexander Fuchs,随后在 1 月 12 日发布新版本 3.0.0,完全删除了易受攻击代码。

该插件的更新说明页面指出,“3.0.0 版本的更新具有重大变化,删除了 PHP Everywhere 短代码和小部件。运行插件设置页面的升级程序,将旧代码迁移至 Gutenberg 块。”

值得注意的是,3.0.0 版本仅支持通过块编辑器的 PHP 代码片段,这意味着依赖于经典编辑器的用户必须卸载该插件并选择另一种使用自定义 PHP 代码的解决方案。

WordPress是著名的开源CMS(内容管理)系统。近日,在4.0版本以下的Wordpress被发现存在跨站脚本漏洞(XSS),新版本的Wordpress已经修复了这些问题。为了安全起见,建议站长们尽早更新到WP新版本。 该漏洞是由芬兰IT公司Klikki Oy的CEO Jouko Pynnonen发现的,只存在于Wordpress4.0以下的版本中。据调查得知全球有86%的Wordpress网站都感染了这一漏洞,也就意味着全球数百万的网站都存在着潜在的危险。一些知名网站也使用了Wordpress软件,如Time、UPS、NBC Sports、CNN、Techcrunch 和FreeBuf:) 漏洞概述 WordPress中存在一系列的跨站脚本漏洞,攻击者利用跨站脚本伪造请求以欺骗用户更改登录密码,或者盗取管理员权限。 如Jouko Pynnonen解释道: 当博客管理员查看评论时,评论中的漏洞代码会自动在其Web浏览器上运行。然后恶意代码会偷偷接管管理员账户,从而执行管理员 *** 作。 为了证明他们的观点,研究人员创建了一个漏洞利用程序(exploits)。利用这个exploits,他们创建了一个新的WordPress管理员账户,改变了当前管理员密码,并在服务器上执行了攻击PHP代码。 漏洞分析 问题出在wordpress的留言处,通常情况下留言是允许一些html标签的,比如、、等等,然而标签中有一些属性是在白名单里的,比如标签允许href属性,但是onmouseover属性是不允许的。 但是在一个字符串格式化函数wptexturize()上出现了问题,这个函数会在每一个留言上执行,函数的功能是把当前的字符转义成html实体,比如把“”转义为“”。为了防止干扰html格式,wptexturize()首先会以html标签为标准把文本分成若干段,除了html标签,还有方括号标签比如[code]。分割的功能是由下列正则表达式完成的。 在wp-includes/formatting.php代码的第156行: $textarr = preg_split(‘/(<.*>|\[.*\])/Us’, $text, -1, PREG_SPLIT_DELIM_CAPTURE)但是如果文章中混合着尖括号<>和方括号[]会造成转义混淆,导致部分代码没有转义。 攻击者可以通过这个漏洞在允许的HTML标签中注入样式参数形成XSS攻击,比如通过建立一个透明的标签覆盖窗口,捕捉onmouseover事件。 漏洞利用测试 以下代码可以用于测试 [[” NOT VULNERABLE] 修复建议 这一漏洞很容易被攻击者利用,WordPress官方建议用户尽快更新补丁,而在新版WordPress 4.0.1已经修复了所有的漏洞。 WordPress官方于11月20日发布了官方补丁,目前大多数的WordPress网站上都会收到补丁更新提醒通知;如果有一些其他原因使得你无法更新补丁,Klikki Oy公司还提供了另外一个解决方案(workaround)可以修复该漏洞。 wptexturize可以通过在wp-includes/formatting.php开头增加一个返回参数避免这个问题: function wptexturize($text) { return $text // ADD THIS LINE global $wp_cockneyreplace额外提醒 如果你使用的是WP-Statistics WordPress插件,你也应该更新补丁。因为这些插件上也存在跨站脚本漏洞,攻击者同样可以实施攻击。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/8049065.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存