CVE-2026-34791Endian Firewall 3.3.25及之前版本存在安全漏洞。由于/cgi-bin/logs_proxy.cgi接口中对DATE参数的正则表达式验证不完整,攻击者可利用该参数构造恶意文件路径并通过Perl的open()函数调用,从而在系统上执行任意操作系统命令。该漏洞需要低权限用户认证,成功利用可能导致系统被完全控制。
该漏洞的根源在于Endian Firewall处理日志请求时的输入验证逻辑存在缺陷。具体而言,受影响的组件是/cgi-bin/logs_proxy.cgi脚本,该脚本使用Perl语言编写。在处理用户提交的DATE参数时,脚本试图将其作为文件名的一部分进行操作。尽管开发者实施了一定的正则表达式验证,但该验证逻辑并不完整,未能妥善处理管道符(|)等Shell元字符。在Perl中,open()函数具有强大的功能,如果文件名中包含管道符,例如open(FH, "file | command"),Perl会将其解释为执行命令并读取输出。攻击者利用这一点,通过在DATE参数中注入形如"| malicious_command"的字符串,绕过不完整的正则检查。当脚本调用open()处理该参数时,Perl会将其解析为系统命令执行而非文件操作。由于该接口需要低权限认证(PR:L),一旦攻击者获取了普通用户凭证,即可利用此漏洞提升权限并执行任意操作系统命令。