CVE-2021-47934MyBB Timeline Plugin 1.0版本存在多个Web安全漏洞,包括跨站脚本(XSS)和跨站请求伪造(CSRF)。攻击者可利用XSS漏洞在主题标题、帖子内容及用户资料字段中注入恶意脚本,窃取用户敏感信息。同时,CSRF漏洞允许攻击者诱导受害者访问恶意页面,从而在后台更改用户的个人资料封面图片,对用户隐私和安全构成威胁。
该漏洞的核心原因在于MyBB Timeline Plugin在开发过程中忽视了输入验证与输出编码的安全原则,且缺乏对关键状态修改操作的跨站请求伪造防护。首先,针对存储型XSS漏洞,插件在从数据库读取并渲染用户提交的内容(包括主题标题、帖子正文以及用户个人资料中的Location和Bio字段)时,直接将其嵌入HTML页面而未进行转义处理。这使得攻击者能够植入恶意的JavaScript代码,当管理员或其他用户浏览包含该内容的页面时,脚本将自动在受害者浏览器上下文中执行,进而窃取Session Cookie或进行钓鱼攻击。其次,针对CSRF漏洞,timeline.php文件中处理用户资料更新的接口仅依赖用户会话Cookie,未引入随机Token验证。攻击者可利用这一缺陷,精心构造一个隐藏的HTML表单,设置目标URL为timeline.php并包含修改封面图片的参数。当受害者访问被植入该表单的恶意网页时,浏览器会自动携带受害者的身份信息发送请求,服务器接收后执行修改操作,导致用户隐私泄露或账户被劫持。