CVE-2026-39380Open Source Point of Sale是基于PHP和CodeIgniter框架的Web销售点应用。在3.4.3版本之前,Stock Locations配置功能中存在一个存储型跨站脚本(XSS)漏洞。由于应用程序未能正确过滤用户输入的stock_location参数,攻击者可以注入恶意JavaScript代码。这些代码会被存储在数据库中,并在员工界面渲染时被执行。该漏洞已在3.4.3版本中修复。
该漏洞属于存储型跨站脚本攻击(Stored XSS),主要影响基于PHP CodeIgniter框架构建的Open Source Point of Sale系统。漏洞具体出现在库存位置配置模块的后端处理逻辑中。由于开发者在3.4.3版本之前未对用户提交的`stock_location`参数实施严格的输入验证和上下文感知的输出编码,导致应用程序无法区分合法数据与恶意代码。
攻击者首先需要获得系统的低权限账户(PR:L),随后导航至Stock Locations配置界面。在此处,攻击者可以构造特定的恶意载荷(如JavaScript代码片段)并提交。应用程序错误地将此载荷作为普通文本存储在数据库中。攻击链的关键步骤在于受害者(如管理员)查看库存列表时,服务器从数据库读取数据并直接渲染至HTML页面,未进行HTML实体转义。此时,恶意脚本在受害者的浏览器上下文中运行,利用S:C(作用域改变)特性,可能窃取Session Cookie、进行钓鱼攻击或在用户权限下执行未授权操作,严重威胁系统的机密性与完整性。