CVE-2026-34797Endian Firewall Community版本3.3.25及更早版本中存在严重的命令注入漏洞。该漏洞源于/cgi-bin/logs_smtp.cgi接口对DATE参数的验证机制存在缺陷,未能完全过滤特殊字符。攻击者可利用该缺陷构造恶意请求,绕过不完整的正则表达式检查,进而在系统后台执行任意操作系统命令。此漏洞需低权限用户认证即可触发,成功利用可能导致系统被完全控制,造成数据泄露或破坏,威胁等级极高。
该漏洞的核心机制在于Endian Firewall的Perl CGI脚本`logs_smtp.cgi`中存在不安全的文件操作。脚本将用户提交的`DATE`参数直接用于构造文件路径,并传递给Perl内置的`open()`函数进行处理。Perl的`open()`函数具有双重功能,既可以打开文件,也可以通过管道符(`|`)执行外部系统命令。尽管开发人员尝试使用正则表达式对输入进行过滤,但该正则规则设计不完整,未能覆盖所有危险的字符序列(如管道符或命令换行符)。因此,经过认证的攻击者可以构造特定的Payload(例如在参数末尾附加`| id`或`|反弹Shell命令`)。当脚本调用`open()`时,Perl解释器会将其识别为管道操作而非文件打开,从而在服务器端执行攻击者指定的任意OS命令。利用此漏洞,攻击者可从低权限Web用户提升至系统级权限,造成严重的远程代码执行后果。