CVE-2025-68658Open Source Point of Sale (opensourcepos)是一款基于PHP和CodeIgniter框架开发的Web销售点应用程序。CVE-2025-68658漏洞存在于该应用的配置功能(Information)中,是一处存储型跨站脚本(Stored XSS)漏洞。攻击者作为已认证用户,在拥有"Configuration: Change OSPOS's Configuration"权限的情况下,可以在配置页面的公司名称(Company Name)字段中注入恶意JavaScript代码。该恶意载荷会被永久存储在服务器端,当其他用户访问/sales/complete路径时,恶意脚本会在受害者浏览器中执行。由于opensouropens在输入验证和输出编码方面存在不足,攻击者可利用此漏洞窃取用户会话cookie、劫持用户账户或进行钓鱼攻击。此漏洞影响版本3.4.0和3.4.1,已在3.4.2版本中修复。
该存储型XSS漏洞的根因在于opensouropens应用对用户输入的公司名称字段缺乏充分的输入验证和输出编码。具体技术细节如下:1) 漏洞入口点位于配置功能的信息页面(Configuration Information),攻击者通过修改公司名称字段注入恶意JavaScript payload;2) 恶意载荷被直接存储到数据库中,未进行任何过滤或转义处理;3) 当用户访问/sales/complete路径时,系统从数据库读取公司名称字段并直接渲染到HTML页面中;4) 由于缺少输出编码,浏览器将恶意JavaScript代码作为有效脚本执行;5) 攻击者可通过此漏洞获取用户会话信息、进行CSRF攻击或重定向用户到恶意网站。修复方案为在3.4.2版本中增加了输入验证和输出编码机制。