CVE-2026-34794Endian Firewall 3.3.25及之前版本存在严重的安全漏洞。由于`/cgi-bin/logs_ids.cgi`接口对用户输入的`DATE`参数验证不充分,经过身份认证的攻击者可以利用该漏洞,通过构造特定的恶意参数值绕过正则表达式验证。该参数值被用于构建文件路径并传递给Perl的`open()`函数,从而导致操作系统命令注入。成功利用此漏洞可能导致攻击者以应用程序权限执行任意系统命令,完全控制受影响的服务器,造成数据泄露、系统破坏等严重后果。
该漏洞的根源在于Endian Firewall的Web管理界面中,处理日志请求的Perl CGI脚本(`/cgi-bin/logs_ids.cgi`)未能正确过滤用户输入。具体来说,脚本接收`DATE`参数,该参数原本用于指定日志日期以构建文件路径。代码试图使用正则表达式来验证输入,但该正则表达式存在逻辑缺陷或覆盖不全,未能过滤掉管道符(`|`)或其他Shell元字符。当攻击者发送包含恶意命令的请求时,例如将`DATE`参数设置为`filename | command`,由于Perl的`open()`函数在处理文件名时,如果包含管道符,会开启一个管道进程而非仅仅打开文件。攻击者利用这一特性,可以将恶意命令注入到系统Shell中执行。由于该接口需要低权限用户认证,攻击者首先需要获取一个有效的账号(如普通用户权限),随后发送特制的HTTP POST或GET请求触发漏洞,进而提升权限或维持对系统的持久化访问。