IPBUF安全漏洞报告
English
CVE-2021-4477 CVSS 9.1 严重

CVE-2021-4477 Hirschmann IPv6 IPsec防火墙绕过漏洞

披露日期: 2026-04-03

漏洞信息

漏洞编号
CVE-2021-4477
漏洞类型
防火墙绕过
CVSS评分
9.1 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Hirschmann HiLCOS OpenBAT, BAT450

相关标签

防火墙绕过IPv6IPsecHirschmann网络安全VPN

漏洞概述

Hirschmann HiLCOS OpenBAT及BAT450产品在IPv6 IPsec部署场景中存在严重的防火墙绕过漏洞。由于系统处理逻辑缺陷,来自VPN连接的特定流量能够绕过已配置的防火墙安全规则。攻击者无需用户交互或认证,即可利用此漏洞。通过建立IPv6 IPsec连接(IKEv1或IKEv2)并配合IPv6互联网连接,攻击者可成功规避防火墙策略执行,窃取敏感数据或篡改系统信息,对网络安全构成极高威胁。

技术细节

该漏洞的核心成因在于Hirschmann HiLCOS OpenBAT及BAT450设备在IPv6协议栈处理IPsec流量与防火墙规则交互时的逻辑缺陷。在正常的IPv6 IPsec部署中,防火墙应作为策略执行点,对所有经过IKEv1或IKEv2建立的VPN隧道流量进行严格审查。然而,受影响的系统在处理特定网络拓扑时,未能正确将防火墙规则应用于源自IPsec关联的解封装流量或与其并发的原生IPv6流量。攻击者可以通过网络发起攻击,首先与目标设备建立标准的IPv6 IPsec VPN连接。在隧道建立后,攻击者利用设备对IPv6路由表或策略路由的错误处理,发送经过精心构造的IPv6数据包。这些数据包虽然名义上属于VPN连接上下文,但实际上绕过了防火墙配置的入站/出站过滤规则。由于无需用户交互和认证,攻击者可利用此漏洞探测内网、执行未授权的数据窃取或注入恶意数据,严重破坏系统的机密性与完整性。

攻击链分析

STEP 1
信息收集
攻击者扫描网络,识别暴露在互联网上的Hirschmann HiLCOS OpenBAT或BAT450设备,并确认其启用了IPv6及IPsec服务。
STEP 2
建立连接
攻击者与目标设备建立IPv6 IPsec VPN连接(使用IKEv1或IKEv2协议),同时保持IPv6互联网连接活跃。
STEP 3
漏洞利用
攻击者利用系统漏洞,通过已建立的IPsec隧道或并发的IPv6路径发送恶意流量。由于防火墙规则失效,这些流量绕过了本应阻止它们的访问控制列表。
STEP 4
达成目标
攻击者成功访问受保护的内网资源,执行未授权操作,如数据窃取或破坏系统完整性。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/usr/bin/env python3 # Conceptual PoC for CVE-2021-4477 # This script demonstrates the logic to test IPv6 IPsec firewall bypass. # Requires scapy: pip install scapy import sys from scapy.all import * def check_bypass(target_ip, internal_ip): """ Simulates sending traffic to check if firewall rules are bypassed. Note: Actual exploitation requires establishing an IPsec tunnel. """ print(f"[*] Target: {target_ip}") print(f"[*] Testing bypass to internal resource: {internal_ip}") # Craft an IPv6 packet. In a real scenario, this might be encapsulated # or crafted to exploit the specific logic flaw in the device. # Here we simulate a packet that should be blocked but isn't due to the bypass. pkt = IPv6(dst=target_ip) / ICMPv6EchoRequest(data="CVE-2021-4477 Test") # Send packet and wait for response resp = sr1(pkt, timeout=2, verbose=0) if resp: print("[+] Potential bypass detected! Response received.") print(f"[+] Response: {resp.summary()}") return True else: print("[-] No response. Traffic may be blocked or host unreachable.") return False if __name__ == "__main__": if len(sys.argv) < 3: print("Usage: python3 cve_2021_4477_poc.py <target_ipv6> <internal_ipv6>") sys.exit(1) target = sys.argv[1] internal = sys.argv[2] check_bypass(target, internal)

影响范围

Hirschmann HiLCOS OpenBAT
Hirschmann BAT450

防御指南

临时缓解措施
在应用官方补丁之前,建议管理员禁用IPv6 IPsec功能,或者配置上游防火墙严格过滤进出设备的IPv6流量,确保即使设备自身防火墙失效,外部流量也无法直达受保护资源。

参考链接

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