# 开源POS系统公司名称存储型XSS漏洞
## 概述
Open Source Point of Sale (opensourcepos) 是一个基于 PHP 和 CodeIgniter 框架的 Web 端销售管理系统。在版本 3.4.0 和 3.4.1 中,配置(信息)功能存在存储型 XSS 漏洞。
## 影响版本
- opensourcepos 3.4.0
- opensourcepos 3.4.1
## 细节
拥有“配置:更改 OSPOS 配置”权限的已认证用户,可在“公司名称”字段中注入恶意 JavaScript 代码,通过“配置 → 信息”页面更新信息时提交。该恶意载荷被服务器存储,并在用户访问 `/sales/complete` 页面时触发。攻击复现已知路径:先进入“销售”模块,创建一个新商品,然后点击“已完成”进入目标页面。由于缺乏足够的输入验证和输出编码,恶意脚本在用户浏览器中被执行。
## 影响
攻击者可利用该漏洞在受害者浏览器中执行任意脚本,可能导致会话劫持、敏感信息泄露或恶意操作,危害系统安全和数据完整性。该漏洞已在版本 3.4.2 中修复。
是否为 Web 类漏洞: 未知
判断理由:
| # | POC 描述 | 源链接 | 神龙链接 |
|---|
标题: Stored XSS in Configuration (Information) – Company Name field · Advisory · opensourcepos/opensourcepos · GitHub -- 🔗来源链接
标签:x_refsource_CONFIRM
神龙速读:
### 关键信息
- **漏洞类型**: Stored XSS
- **影响范围**:
- **受影响版本**: 3.4.0, 3.4.1
- **修复版本**: 3.4.2
- **漏洞描述**:
- 在配置(信息)功能中存在的存储型XSS漏洞
- 拥有更改OSPOS配置权限的认证用户可以通过在公司名称字段中注入恶意JavaScript来触发漏洞
- 然后当其他用户访问/sales/complete时, 该恶意脚本被触发执行,导致XSS攻击
- **修复情况**: 已在版本3.4.2中修复此问题,但没有提供临时解决措施
- **CVE编号**: CVE-2025-68658
- **CVSS评分**: 4.3 / 10,级别为中等
标题: Fix multiple XSS vulnerabilities (#3965) (#4356) · opensourcepos/opensourcepos@849439c · GitHub -- 🔗来源链接
标签:x_refsource_MISC
神龙速读:
从网页截图中,能获取到以下关键信息:
- **漏洞类型**: 多个XSS漏洞 (Cross-Site Scripting)
- **修复**: 这些XSS漏洞已在 commit `849439c` 中修复
- **关联的问题**: 此修复与 issue #3965 和 pull request #4356 相关
- **更改文件**: 共修改了7个文件,主要是针对XSS漏洞的修复,包括对输入数据的净化 (`purifyHtml`) 和输出数据的转义 (`DOMPurify.sanitize`, `esc`)
- **代码改动**:
- 添加了HTML净化的代码 (`app/Helpers/security_helper.php`)
- 输入转换为整数以防止注入 (`app/Controllers/Item_kits.php`)
- 输出数据增加了 `DOMPurify.sanitize` 函数调用 (`app/Views/reports/tabular.php`)
- PHP代码块中的字符串输出增加了 `esc` 或 `nl2br` 函数调用 (`app/Views/sales/receipt_default.php`)
- 设置输出的 `escape` 特性为 `true` (`app/Views/reports/tabular_details.php`)
这些更改显示了对用户输入和输出数据的安全处理,表明已经对多个潜在的XSS漏洞进行了修复。
Zaproxy alias impedit expedita quisquam pariatur exercitationem. Nemo rerum eveniet dolores rem quia dignissimos.