CVE-2018-25250MyBB的“Last User's Threads in Profile”插件1.2版本中存在严重的存储型跨站脚本(XSS)漏洞。该插件用于在用户个人资料页面展示其最近发布的主题,但由于对数据输出的处理不当,导致了安全漏洞。攻击者无需任何特殊权限,只需注册普通账号并在发布主题时,在标题字段中植入恶意的HTML或JavaScript代码。这些恶意载荷会被持久化存储在数据库中。当其他用户,特别是管理员,访问攻击者的个人资料页面时,插件会读取并渲染这些被污染的主题标题,导致恶意脚本在受害者的浏览器上下文中自动执行。该漏洞CVSS评分为7.2,属于高危级别,攻击者可利用此漏洞窃取Cookie、会话凭证或执行进一步的社会工程学攻击。
该漏洞的根本原因是缺乏输出编码。MyBB插件在从数据库提取用户发布的帖子主题时,直接将数据拼接到HTML响应中,未进行HTML实体转义(例如将 `<` 转换为 `<`)。攻击者利用这一点,构造包含 `<script>` 标签或事件处理器(如 `onerror`)的字符串作为帖子主题提交。由于这是存储型XSS,恶意代码被保存在后端数据库中。触发条件是受害用户访问攻击者的个人资料页。插件逻辑会查询该用户最近的帖子,并将未经净化的标题字段输出到页面DOM结构中。浏览器解析HTML时,识别出注入的脚本标签并执行。由于CVSS向量包含S:C(Scope Changed),该漏洞不仅影响当前页面,还可能通过脚本操作修改浏览器同源下的其他页面数据,造成更广泛的危害。