CVE-2025-34313IPFire是一款开源的Linux防火墙发行版。CVE-2025-34313是IPFire 2.29(Core Update 198)之前版本中存在的一个存储型跨站脚本(Stored XSS)漏洞。该漏洞源于Web界面在处理用户配额规则时,对QUOTA_USERS参数的用户输入缺乏适当的输入验证和输出编码。攻击者作为低权限认证用户,可以通过在创建用户配额规则时在QUOTA_USERS参数中注入任意JavaScript代码。恶意脚本会被永久存储在系统中,当其他用户查看受影响的配额条目时,注入的脚本会在其浏览器上下文中执行,可能导致会话劫持、敏感信息窃取或进一步的攻击。漏洞利用需要用户交互,即其他用户需要访问或查看触发漏洞的配额配置页面。由于攻击者需要先获取IPFire系统的认证资格,因此该漏洞的利用难度相对较高,但仍对系统安全性构成威胁。
漏洞存在于IPFire的URL过滤功能模块(urlfilter.cgi)中,具体位于用户配额规则的处理逻辑。当管理员或用户通过Web界面添加新的用户配额规则时,应用程序向/cgi-bin/urlfilter.cgi端点发送HTTP POST请求,其中MODE参数设置为USERQUOTA,而QUOTA_USERS参数用于指定应用配额的用户列表。问题在于,QUOTA_USERS参数的值在接收后直接存储到数据库或配置文件中,随后在Web界面中渲染显示时未经过充分的输入清理或输出编码。攻击者可以构造包含恶意JavaScript代码的QUOTA_USERS值,例如使用<script>标签或事件处理器属性(如onerror、onload等)。由于该值被永久存储,任何查看配额规则列表的用户都会触发脚本执行。攻击者可利用此漏洞窃取受害者的认证Cookie、进行钓鱼攻击或执行其他客户端操作。修复版本IPFire 2.29 (Core Update 198)增加了对用户输入的正确验证和编码处理。