CVE-2025-67496WeGIA是一款面向葡萄牙语用户的开源Web机构管理器。在3.5.4及以下版本中,存在一处存储型跨站脚本(XSS)漏洞。该漏洞位于密码配置功能模块(configurar_senhas.php),攻击者可通过在员工姓名字段中注入恶意JavaScript代码,当管理员访问相关页面时,恶意脚本将在其浏览器中执行。由于漏洞属于存储型XSS,恶意代码会永久保存在数据库中,任何访问该数据的用户都会受到攻击。攻击者可利用此漏洞窃取会话Cookie、劫持用户账户或进行进一步的钓鱼攻击。官方已在3.5.5版本中修复此问题。
漏洞根源在于应用程序在处理员工姓名数据时缺乏输入验证和输出编码。具体来说,/WeGIA/html/geral/configurar_senhas.php端点从数据库检索员工姓名后,直接将数据注入到HTML <option>元素的value属性和显示文本中,而没有进行HTML实体编码或转义。攻击者只需在员工档案中设置包含XSS payload的姓名,如:<script>alert(document.cookie)</script>或<img src=x onerror=...>,该payload会随数据库记录永久保存。当管理员打开密码配置页面并触发员工下拉列表时,浏览器会解析并执行注入的恶意脚本。由于攻击利用的是服务器端存储的数据,常规的客户端输入验证无法防御此类攻击。修复方案需要对所有从数据库取出的用户可控数据进行HTML特殊字符转义处理。