## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-H4ZAZ-CVE-2025-60503
# CVE-2025-60503 — UltimatePOS (UltimateFosters) v4.8 中的存储型跨站脚本(XSS)漏洞
**发布日期:** 2025-10-30
**CVE ID:** CVE-2025-60503 _(已预留)_
**研究人员:** Vivien Lebas
**厂商:** UltimateFosters
**产品:** UltimatePOS
**受影响版本:** 4.8
**漏洞类型:** 存储型跨站脚本(XSS)
**严重性:** 高危
* * *
## 概述
**UltimatePOS** 管理后台(v4.8)存在一个**存储型 XSS** 漏洞。
**采购** 模块中的**参考编号** 字段接受未经清理的用户输入,之后在**报表 → 活动日志** 页面渲染时未进行适当转义。
这使得具有管理员权限的攻击者能够在另一位管理员的浏览器会话上下文中执行任意 JavaScript。
* * *
## 受影响组件
采购 → 采购列表 → + 新增
报表 → 活动日志
* * *
## 技术细节
在新增采购时,`参考编号`字段的值被直接存储,随后在活动日志视图中被原样反映。
由于输出未经转义,当日志被查看时,任何嵌入的 HTML/JavaScript 都会执行。
* * *
## 概念验证(PoC)
> ⚠️ **仅供测试使用** – 请勿在生产系统上使用此 PoC。
1. 以管理员身份登录
2. 导航至:
采购 → 采购列表 → + 新增
3. 在**参考编号** 字段中插入:
`<script>alert('XSS')</script>`
填写所有必填字段,然后点击保存
导航至:
报表 → 活动日志
弹出警告框 — JavaScript 成功执行(存储型 XSS 已确认)
## 影响
影响| 描述
---|---
代码执行| 在管理员浏览器上下文中运行任意 JS
Session 劫持| 攻击者可能窃取会话令牌
数据窃取| 可能窃取敏感管理数据
钓鱼攻击| 可能伪造 UI 覆盖层或进行重定向攻击
## 缓解措施与建议
**针对厂商:**
* 对所有用户输入(尤其是参考编号)进行清理和验证
* 在 HTML 中渲染动态值之前对输出进行编码
* 强制执行内容安全策略(CSP)标头
* 对 Cookie 进行安全设置(HttpOnly、SameSite=strict)
**针对用户:**
* 限制仅受信任的用户拥有管理员权限
* 避免共享管理员帐户
* 监控活动日志中是否存在可疑载荷
* 厂商发布补丁后立即应用
## 致谢
* **研究人员:** Vivien Lebas
* **CVE ID:** CVE-2025-60503
* **产品:** UltimatePOS by UltimateFosters
## 参考
* 厂商网站:https://ultimatefosters.com
* 产品页面:UltimatePOS (CodeCanyon #21216332)
* CVE 条目(待定):CVE-2025-60503 — 已预留
**注意:** 此漏洞不同于 CVE-2025-40980,后者影响同一产品的另一个组件。