27 二月

ACF 6.2.7安全发布

作者:Liam Gladdy

高级自定义字段版本6.2.7现已可用。

此版本包含重要的安全修复程序,并启用the_field(_字段)我们的6.2.5的释放柱

它还包含一个新的过滤器,通过限制ACF短代码可以访问的字段来帮助您在使用ACF短码时提高安全性,尽管我们仍然建议未使用短代码的用户完全禁用它,详情如下。

👨‍💻 请查看下面的发行说明。有关ACF的最新消息,请在推特上关注我们@wp_acf.

我们非常重视ACF的安全性,并一直致力于保护我们的用户。如果您发现代码中存在漏洞或存在安全问题,请参阅我们的安全第页了解更多信息。

的逃逸the_field(_字段)子字段

此版本允许在使用时自动转义潜在的不安全HTMLthe_field(_字段)子字段在ACF 6.2.5中为此添加警告后,输出字段值。

有关可用于修改行为的筛选器的详细信息,以及如果确实需要输出潜在的不安全HTML,如何更改代码,请参阅6.2.5的释放柱.

在ACF 6.2.7中,当我们检测到字段输出将发生更改时,警告已更改为错误,表示输出已更改。

其他安全修复

ACF 6.2.7还包括两个进一步的安全修复,以及一系列其他安全改进。具体来说,已经修复了两个潜在的XSS漏洞,一个影响值包含HTML的select2字段呈现,另一个影响可能保存不安全HTML的字段名称或Flexible Content字段布局名称。

此外,我们对所有ACF自己的HTML输出进行了扫描,以确保我们转义了任何翻译的字符串,或ACF管理屏幕中的任何其他内容输出,以确保它被转义。

安全和ACF短代码

ACF短代码是一个传统功能,它允许用户输出存储在数据库中任何位置、文章或页面上的ACF数据。

在过去几年中,我们在提高ACF短代码的安全性方面取得了重大进展。在ACF 5.11.2中,我们阻止了短代码访问非ACF post元值,并且在ACF 6.0.3型我们引入了进一步的更改,以确保只有拥有publish_posts发布权限可以预览ACF短代码,这意味着参与者无法在未经授权的情况下使用预览模式查看ACF数据,我们甚至报告了WordPress核心中的短代码漏洞已经修补过了。

这就是说,ACF短代码的基本前提是,如果用户知道ACF字段名或密钥,以及数据存储在哪里,无论是在帖子(包括私人帖子)、用户、术语或选项页面中,都允许用户访问该数据。

如果您信任所有拥有publish_posts发布权限,但是如果你不这样做&例如,你对拥有该权限的用户隐藏了一些选项页面,并且用户知道你的字段名或关键字,他们可以使用短代码发布一篇公开该信息的文章。

出于这个原因,因为交流电压6.0.3我们建议用户禁用短代码,如果他们不使用的话。

根据最近向ACF团队提交的一份漏洞报告,将我们记录的行为描述为一个安全漏洞,我们决定开始禁用ACF短代码的过程,以便在ACF 6.3发布后进行新的ACF安装。ACF的现有安装不会受到此更改的影响

从将于今年晚些时候发布的ACF 6.3开始,如果我们检测到您的ACF是在ACF 6.3发布后首次安装的,则默认情况下将禁用短代码,并需要使用以下代码明确启用它:

add_action('acf/init','enable_acf_shortcode');函数enable_acf_shortcode(){acf_update_setting('启用短代码',true);}

除此之外,ACF 6.2.7还包含一个新的过滤器,允许您限制ACF Shortcode可以访问的值。

这个过滤器,acf/短代码/预防访问,允许您返回真的以禁止访问该字段类型。例如,您可以禁止访问存储为选项的任何字段,或用户、具有私人可见性的帖子或页面上的任何字段值。

有关过滤器的完整信息以及每个示例的示例代码,请查看过滤器文档

变更日志

  • 安全修复–the_field(_字段)现在转义自ACF 6.2.5以来通知的潜在不安全HTML。有关完整信息,请阅读发布博客帖子
  • 安全修复–字段和布局名称现在强制使用字母数字字符,解决了潜在的XSS问题
  • 安全修复–select2字段的默认呈现模板不再允许呈现HTML,从而解决了潜在的XSS问题
  • 安全增强–Aacf/短代码/预防访问现在可以使用过滤器来限制ACF短代码允许访问的数据
  • 安全增强–i18n翻译字符串现在在输出时转义
  • 增强功能–ACF现在普遍使用WordPress文件系统函数,而不是原生PHP函数

有关此版本的问题和帮助,请联系我们的支持团队.

关于作者