漏洞概述
WordPress是最主流的内容管理系统(CMS),占全球CMS市场份额的60.4%,远高于第二的Joomla!(5.2%)。因此,有超过1/3的网站使用WordPress。FortiGuard研究人员近期发现一个WordPress中的存储型XSS 0day漏洞。该0day漏洞是由于WordPress 5.0中新内置的Gutenberg引发的XSS漏洞。该编辑器没有超过过滤Shortcode错误消息中的JavaScript/HTML代码。因此,有Contributor或更高权限的远程攻击者就可以在访问被黑页面的受害者浏览器中执行任意JS/HTML代码。如果受害者有更高权限,比如administrator权限,攻击者甚至可以入侵整个web服务器。
该XSS漏洞CVE编号为 CVE-2019-16219,影响WordPress 5.0到5.0.4,5.1和5.1.1版本。
漏洞分析
在WordPress 5.0中,用户可以在文章中添加Shortcode块。在添加特定HTML编码的字符到Shortcode块,然后重新打开文章时,就显示错误信息,以<字符为例,预览时会解码<为<。
图1. 插入H