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标头的�  ;�。这意味着评论能够显示在攻击者网站上的暗藏