首页 -> 安全研究
安全研究
安全漏洞
Kame的Stack Non-ESP IPV4转发包策略可绕过漏洞
发布日期:2002-03-04
更新日期:2002-03-11
受影响系统:
FreeBSD FreeBSD 4.5不受影响系统:
FreeBSD FreeBSD 4.4
FreeBSD FreeBSD 4.3
FreeBSD FreeBSD 4.2
NetBSD NetBSD 1.5.2
NetBSD NetBSD 1.5.1
NetBSD NetBSD 1.5
OpenBSD OpenBSD 2.7
OpenBSD OpenBSD 2.7
OpenBSD OpenBSD 2.6
OpenBSD OpenBSD 2.6
OpenBSD OpenBSD 3.0描述:
OpenBSD OpenBSD 2.9
OpenBSD OpenBSD 2.8
BUGTRAQ ID: 4224
CVE(CAN) ID: CVE-2002-0414
KAME是一款免费的开放源代码的IPv6和IPSec实现,由KAME项目组发行和维护。
KAME在IPv4的封装安全负载(Encapsulating Security Payload )实现上存在漏洞,可导致转发包策略可绕过。
在某些环境下,KAME没有使用RFC相关协议而自己建立了一套安全实现环境,当IPv4网络在一系统和使用非封装安全负载(ESP)通信阻塞,在安全网关的路由末端之间使用封装安全负载(ESP)时,发送给安全网关的非封装安全负载(ESP)通信会被安全网关转发。这可以允许任意访问网络的攻击者通过安全网关与外界网络通信。必须注意的是本来任意主机通过安全网关的通信会被阻塞,因为路由实现能正确的处理这种通信类型。
<*来源:Greg Troxel (gdt@ir.bbn.com)
Bill Chiarchiaro (wjc@work.cleartech.com)
*>
建议:
临时解决方法:
如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:
Greg Troxel <gdt@ir.bbn.com>提供了第三方补丁程序:
NetBSD netbsd-1-5的补丁程序:
Index: src/sys/netinet/ip_input.c
===================================================================
RCS file: /NETBSD-CVS/netbsd/src/sys/netinet/ip_input.c,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 ip_input.c
--- src/sys/netinet/ip_input.c 2001/07/05 14:42:54 1.1.1.1
+++ src/sys/netinet/ip_input.c 2002/02/25 01:07:02
@@ -611,6 +611,15 @@
ipstat.ips_cantforward++;
m_freem(m);
} else {
+#ifdef IPSEC
+ /*
+ * Enforce inbound IPsec SPD.
+ */
+ if (ipsec4_in_reject(m, NULL)) {
+ ipsecstat.in_polvio++;
+ goto bad;
+ }
+#endif
/*
* If ip_dst matched any of my address on !IFF_UP interface,
* and there's no IFF_UP interface that matches ip_dst,
FreeBSD RELENG_4的补丁程序:
Index: src/sys/netinet/ip_input.c
===================================================================
RCS file: /FREEBSD-CVS/src/sys/netinet/ip_input.c,v
retrieving revision 1.130.2.31
diff -u -r1.130.2.31 ip_input.c
--- src/sys/netinet/ip_input.c 2001/12/15 01:06:27 1.130.2.31
+++ src/sys/netinet/ip_input.c 2002/02/24 16:10:26
@@ -625,8 +625,18 @@
if (ipforwarding == 0) {
ipstat.ips_cantforward++;
m_freem(m);
- } else
+ } else {
+#ifdef IPSEC
+ /*
+ * Enforce inbound IPsec SPD.
+ */
+ if (ipsec4_in_reject(m, NULL)) {
+ ipsecstat.in_polvio++;
+ goto bad;
+ }
+#endif /* IPSEC */
ip_forward(m, 0);
+ }
#ifdef IPFIREWALL_FORWARD
ip_fw_fwd_addr = NULL;
#endif
厂商补丁:
OpenBSD
-------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
http://www.openbsd.org
浏览次数:3348
严重程度:0(网友投票)
绿盟科技给您安全的保障