WordPress 5.1 CSRF 导致远程下令执行误差清静通告

宣布时间 2019-03-15

误差编号和级别


CVE编号:暂无 ,危险级别:高危 , CVSS分值:官方未评定


影响规模


受影响版本: 

WordPress 5.1.1 之前的版本 (不含 5.1.1)


误差概述


3 月 13 日 ,RIPSTECH 宣布了 WordPress 5.1 CSRF 误差导致远程代码执行的内容细节。攻击者可以通过诱骗目的博客的管理员会见攻击者设置的网站来接受任何启用了谈论的WordPress网站。一旦受害管理员会见恶意网站 ,就会在后台针对目的WordPress博客运行跨站点请求伪造(CSRF)误差 ,而不会受到受害者的注重。CSRF误差使用了多个逻辑缺陷和整理过失 ,这些过失在组适时会导致远程执行代码和完整的站点接受。


误差保存于5.1.1之前的WordPress版本中 ,可以使用默认设置举行使用。


凌驾33%的互联网网站使用WordPress�K剂康教嘎凼遣┛偷慕沟愎πР⑶夷锨樾蜗乱哑粲� ,该误差会影响数百万个网站。


误差详情


在 WordPress 的处置惩罚历程中由于要实现一些特征的缘故原由 ,WordPress并没有针对谈论的宣布做CSRF限制 ,那么攻击者就能够使用CSRF攻击来攻击WordPress管理员使其通过其权限建设谈论。


WordPress试图通过在谈论表单中为管理员天生一个特另外随机数来解决这个问题。当管理员提交谈论并提供有用的随机数时 ,谈论将在不经由任何整理函数的情形下建设。若是随机数无效 ,谈论仍会建设 ,但会被整理函数处置惩罚。


尊龙凯时 - 人生就是搏!


可以看到谈论通常是wp_filter_kses来认真整理的。wp_filter_kses仅允许仅有 href 属性的 a 标签。


若是是如下这种情形:建设谈论的用户拥有unfiltered_html权限 ,并且没有提供有用的随机数 ,则用 wp_filter_post_kses 来整理注释。


wp_filter_post_kses 虽仍会删除任何可能导致跨站点剧本误差的 HTML 标记和属性。但允许了一些其他的常见属性好比rel。


WordPress 在处置惩罚谈论中的 a 标签的属性时间会通过如下代码 ,将属性处置惩罚为键值对关系键是属性的名称 ,值是属性值。


尊龙凯时 - 人生就是搏!



WordPress 然后检查rel属性是否被设置。只有通过 wp_filter_post_kses 过滤注释 ,才华设置此属性。按如下方法处置惩罚。


尊龙凯时 - 人生就是搏!


问题属性值用双引号括起来(第 3018 行)。这意味着攻击者可以通过注入闭合title属性的特殊双引号来注入特另外 HTML 属性。


例如:title='XSS " onmouseover=alert(1) id="'

理论上 将会酿成

然后在经由处置惩罚后该谈论即会被 WordPress 存储入数据库。


攻击者在建设恶意注释后获取远程执行代码的下一步是获取管理员执行注入的JavaScript。谈论显示在目的WordPress博客的前端。 WordPress自己不受X-Frame-Options标头的�;�。这意味着谈论可以显示在攻击者网站上的隐藏