「漏洞预警」Advanced Custom Fields 反射型高危漏洞(XSS),涉及超200万个站点插图

5月6日,启明星辰VSRC监测到Advanced Custom Fields插件中存在反射型跨站脚本漏洞(CVE-2023-30777),目前该漏洞的细节已经公开披露。

漏洞详情

Advanced Custom Fields免费版和专业版6.1.5及之前的版本中存在XSS漏洞,该漏洞源于admin_body_class函数处理程序,它未能正确清理hook(钩子)的输出值,该hook控制和过滤WordPress网站管理区域中主体标签的CSS类(设计和布局)。未经身份验证的威胁者可利用该漏洞在使用者互动的情况下窃取敏感资讯并在受影响的WordPress 网站上提升许可权。

此问题被指定为标识符CVE-2023-30777,涉及反射型跨站脚本(XSS)攻击,可用于在本来无害的网站中注入任意可执行脚本。

该插件作为免费和专业版本提供,拥有超过200万次活跃安装。该问题于2023年5月2日被发现并报告给维护人员。

“此漏洞允许任何未经身份验证的用户窃取敏感信息,并在这种情况下通过欺骗特权用户访问设计的URL路径来获取WordPress网站上的特权升级,”Patchstack研究员Rafie Muhammad表示。

反射性XSS攻击通常发生在受害者被骗点击通过电子邮件或其他途径发送的虚假链接时,导致恶意代码发送到易受攻击的网站,进而将攻击反向传递回用户的浏览器。

社交工程的这个元素意味着反射型XSS没有存储型XSS攻击的覆盖范围和规模,促使威胁行为人将恶意链接分发给尽可能多的受害者。

“[反射型XSS攻击]通常是由于输入请求未被充分过滤,从而允许操纵Web应用程序函数并激活恶意脚本,”

「漏洞预警」Advanced Custom Fields 反射型高危漏洞(XSS),涉及超200万个站点插图1

值得注意的是,CVE-2023-30777可以在默认安装或配置Advanced Custom Fields的情况下激活,尽管只能从有权访问该插件的已登录用户进行操作。

这一发展出现在Craft CMS修补了两个中等严重性的XSS漏洞(CVE-2023-30177和CVE-2023-31144),可被威胁行为人利用以提供恶意负载。

这也跟随了cPanel产品中另一个XSS漏洞的披露(CVE-2023-29489,CVSS评分:6.1),可被利用而无需任何身份验证即可运行任意JavaScript。

“攻击者不仅可以攻击cPanel的管理端口,还可以攻击运行在端口80和443上的应用程序,”Assetnote的Shubham Shah说道,他还补充说,这可能使对手劫持到有效用户的cPanel会话。

“一旦作为cPanel的经过身份验证的用户行事,通常很容易上传Web shell并获得命令执行。”

XSS漏洞

CVE-2023-30777 漏洞源于“admin_body_class”函数处理程序,该函数处理程序未能正确清理钩子的输出值,该钩子控制和过滤 WordPress 管理区域中主体标签的 CSS 类(设计和布局)网站。

'admin_body_class' 函数代码
‘admin_body_class’ 函数 (Patchstack)

攻击者可以利用插件代码上的不安全直接代码串联,特别是“$this→view”变量,在其组件中添加有害代码(DOM XSS 有效负载),这些代码将传递给最终产品,一个类字符串。

插件使用的清理功能“sanitize_text_field”不会阻止攻击,因为它不会捕获恶意代码注入。

通过“current_screen”函数访问“this->view”变量
通过“current_screen”函数 (Patchstack)访问“this->view”变量

开发人员通过实施名为“ esc_attr ”的新函数修复了 6.1.6 版中的缺陷,该函数正确清理了 admin_body_class 挂钩的输出值,从而防止了 XSS。

建议“高级自定义字段”和“高级自定义字段专业版”的所有用户尽快升级到 6.1.6 或更高版本。

根据 WordPress.org 下载统计数据,72.1% 的插件用户仍在使用低于 6.1 的版本,这些版本容易受到 XSS 和其他已知缺陷的攻击。