CVE-2026-34793Endian Firewall 3.3.25及之前版本在/cgi-bin/logs_firewall.cgi接口中存在严重的命令注入漏洞。由于对用户输入的DATE参数正则验证不完整,经过身份验证的攻击者可以构造恶意请求,利用Perl的open()函数特性执行任意操作系统命令。成功利用此漏洞可能导致攻击者完全控制服务器,造成敏感信息泄露、数据被篡改或服务中断,对企业网络边界安全构成重大威胁。
该漏洞源于Endian Firewall在处理防火墙日志查询时的代码缺陷。具体漏洞点位于/cgi-bin/logs_firewall.cgi脚本中,该脚本接收用户提交的“DATE”参数来指定日志日期范围。开发者虽然实施了正则表达式校验试图过滤危险字符,但该正则表达式并不完整,未能覆盖所有Perl open()函数的特殊用法。在Perl编程语言中,`open()`函数具有不仅限于打开文件的功能。如果文件名字符串以管道符“|”结尾,Perl会将其后的字符串作为外部命令执行,并将文件句柄连接到该命令的标准输入或输出。攻击者利用这一特性,将DATE参数构造为类似“file.log | whoami”的形式。由于验证逻辑缺陷,该字符串被直接传递给`open()`调用,导致服务器执行了攻击者指定的系统命令。由于该漏洞需要低权限账户认证(PR:L),攻击者通常结合钓鱼或弱口令扫描获取凭证,进而利用此漏洞从Web服务权限提升至系统级权限,实现远程代码执行(RCE)。