CVE-2025-34309IPFire 2.29(Core Update 198之前的版本)存在一处存储型跨站脚本(Stored XSS)漏洞。该漏洞允许已认证的低权限攻击者通过动态DNS主机配置功能中的SERVICE、LOGIN和PASSWORD参数注入任意JavaScript代码。攻击者创建或编辑动态DNS主机时,提交的恶意脚本会被存储在服务器端。当其他用户查看或编辑受影响的动态DNS条目时,这些恶意脚本会在其浏览器上下文中执行,可能导致会话劫持、敏感信息窃取或进一步的恶意操作。此漏洞无需高权限即可利用,但需要用户交互(诱骗其他用户访问相关页面),属于存储型XSS,危害性高于反射型XSS。IPFire是一款流行的开源防火墙和路由发行版,广泛应用于企业网络边界防护,因此该漏洞可能影响大量部署该产品的组织。漏洞已被官方在IPFire 2.29 Core Update 198中修复。
该漏洞的根本原因在于IPFire的动态DNS主机管理功能对用户输入缺乏充分的输入验证和输出编码。具体来说,当用户通过HTTP POST请求向/cgi-bin/ddns.cgi端点提交动态DNS主机配置时,应用程序直接存储SERVICE、LOGIN和PASSWORD参数的值,而未对这些值进行HTML实体编码或JavaScript转义。攻击者可以在这些字段中注入包含<script>标签或事件处理器(如onerror、onload)的恶意代码。存储的恶意数据随后在以下场景被渲染:SERVICE值在创建主机条目后显示,LOGIN和PASSWORD值在编辑主机条目时显示。由于这些数据被持久化存储,所有访问该动态DNS配置页面的用户都会受到攻击。攻击者可以利用此漏洞窃取受害者的会话cookie、冒充合法用户执行操作或植入进一步的攻击载荷。CVSS 3.1评分5.4反映了该漏洞需要认证、用户交互且影响范围有限的特点。