CVE-2003-0467
CVSS5.0
发布时间 :2003-08-27 00:00:00
修订时间 :2016-10-17 22:34:08
NMCOS    

[原文]Unknown vulnerability in ip_nat_sack_adjust of Netfilter in Linux kernels 2.4.20, and some 2.5.x, when CONFIG_IP_NF_NAT_FTP or CONFIG_IP_NF_NAT_IRC is enabled, or the ip_nat_ftp or ip_nat_irc modules are loaded, allows remote attackers to cause a denial of service (crash) in systems using NAT, possibly due to an integer signedness error.


[CNNVD]Netfilter NAT远程拒绝服务攻击漏洞(CNNVD-200308-183)

        
        Netfilter是一款Linux Kernel下的防火墙构架实现。
        Netfilter在部分条件下在处理NAT时存在漏洞,远程攻击者可以利用这个问题对使用NAT的系统进行拒绝服务攻击。
        目前没有详细漏洞细节提供。
        

- CVSS (基础分值)

CVSS分值: 5 [中等(MEDIUM)]
机密性影响: [--]
完整性影响: [--]
可用性影响: [--]
攻击复杂度: [--]
攻击向量: [--]
身份认证: [--]

- CPE (受影响的平台与产品)

cpe:/o:linux:linux_kernel:2.4.21:pre1Linux Kernel 2.4.21 pre1
cpe:/o:linux:linux_kernel:2.4.21Linux Kernel 2.4.21
cpe:/o:linux:linux_kernel:2.4.20Linux Kernel 2.4.20
cpe:/o:linux:linux_kernel:2.4.21:pre4Linux Kernel 2.4.21 pre4
cpe:/o:linux:linux_kernel:2.4.21:pre7Linux Kernel 2.4.21 pre7

- OVAL (用于检测的技术细节)

未找到相关OVAL定义

- 官方数据库链接

http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2003-0467
(官方数据源) MITRE
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2003-0467
(官方数据源) NVD
http://www.cnnvd.org.cn/vulnerability/show/cv_cnnvdid/CNNVD-200308-183
(官方数据源) CNNVD

- 其它链接及资源

http://marc.info/?l=bugtraq&m=105985703724758&w=2
(UNKNOWN)  BUGTRAQ  20030802 [SECURITY] Netfilter Security Advisory: NAT Remote DOS (SACK mangle)

- 漏洞信息

Netfilter NAT远程拒绝服务攻击漏洞
中危 未知
2003-08-27 00:00:00 2005-10-20 00:00:00
远程  
        
        Netfilter是一款Linux Kernel下的防火墙构架实现。
        Netfilter在部分条件下在处理NAT时存在漏洞,远程攻击者可以利用这个问题对使用NAT的系统进行拒绝服务攻击。
        目前没有详细漏洞细节提供。
        

- 公告与补丁

        厂商补丁:
        Linux
        -----
        2.4.21pre7有如下补丁:
        diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal linux-2.4.21-pre7/net/ipv4/netfilter/ip_nat_helper.c working-2.4.21-pre7-sackadjust/net/ipv4/netfilter/ip_nat_helper.c
        --- linux-2.4.21-pre7/net/ipv4/netfilter/ip_nat_helper.c 2003-04-06 15:26:48.000000000 +1000
        +++ working-2.4.21-pre7-sackadjust/net/ipv4/netfilter/ip_nat_helper.c 2003-04-14 23:18:38.000000000 +1000
         -366,54 +365,49 sack_adjust(struct tcphdr *tcph,
         }
        
        
        -/* TCP SACK sequence number adjustment, return 0 if sack found and adjusted */
        -static inline int
        +/* TCP SACK sequence number adjustment. */
        +static inline void
         ip_nat_sack_adjust(struct sk_buff *skb,
        - struct ip_conntrack *ct,
        - enum ip_conntrack_info ctinfo)
        + struct ip_conntrack *ct,
        + enum ip_conntrack_info ctinfo)
         {
        - struct iphdr *iph;
         struct tcphdr *tcph;
        - unsigned char *ptr;
        - int length, dir, sack_adjusted = 0;
        + unsigned char *ptr, *optend;
        + unsigned int dir;
        
        - iph = skb->nh.iph;
        - tcph = (void *)iph + iph->ihl*4;
        - length = (tcph->doff*4)-sizeof(struct tcphdr);
        + tcph = (void *)skb->nh.iph + skb->nh.iph->ihl*4;
        + optend = (unsigned char *)tcph + tcph->doff*4;
         ptr = (unsigned char *)(tcph+1);
        
         dir = CTINFO2DIR(ctinfo);
        
        - while (length > 0) {
        - int opcode = *ptr++;
        + while (ptr < optend) {
        + int opcode = ptr[0];
         int opsize;
        
         switch (opcode) {
         case TCPOPT_EOL:
        - return !sack_adjusted;
        + return;
         case TCPOPT_NOP:
        - length--;
        + ptr++;
         continue;
         default:
        - opsize = *ptr++;
        - if (opsize > length) /* no partial opts */
        - return !sack_adjusted;
        + opsize = ptr[1];
        + /* no partial opts */
        + if (ptr + opsize > optend || opsize < 2)
        + return;
         if (opcode == TCPOPT_SACK) {
         /* found SACK */
         if((opsize >= (TCPOLEN_SACK_BASE
         +TCPOLEN_SACK_PERBLOCK)) &&
         !((opsize - TCPOLEN_SACK_BASE)
         % TCPOLEN_SACK_PERBLOCK))
        - sack_adjust(tcph, ptr-2,
        + sack_adjust(tcph, ptr,
         &ct->nat.info.seq[!dir]);
        -
        - sack_adjusted = 1;
         }
        - ptr += opsize-2;
        - length -= opsize;
        + ptr += opsize;
         }
         }
        - return !sack_adjusted;
         }
        
         /* TCP sequence number adjustment */

- 漏洞信息

2364
Linux IPTables / Netfilter NAT SACK mangle DoS
Remote / Network Access Denial of Service, Input Manipulation
Loss of Availability

- 漏洞描述

The netfilter module of the Linux kernel contains a flaw that may allow a remote denial of service. The issue is triggered when Network Address Translation (NAT) is enabled, and either the ip_nat_ftp or ip_nat_irc modules have been loaded or CONFIG_IP_NF_NAT_FTP or CONFIG_IP_NF_NAT_IRC are enabled. This will result in loss of availability for the platform.

- 时间线

2003-08-02 Unknow
Unknow Unknow

- 解决方案

Upgrade to version 2.4.21 of the Linux kernel or higher, as it has been reported to fix this vulnerability. It is also possible to correct the flaw by disabling NAT, disabling the affected protocol modules, or applying the vendor supplied patch.

- 相关参考

- 漏洞作者

Unknown or Incomplete

- 漏洞信息

Linux Netfilter NAT Remote Denial of Service Vulnerability
Unknown 8330
Yes No
2003-08-02 12:00:00 2009-07-11 10:56:00
Announced by the Netfilter Core Team.

- 受影响的程序版本

Snapgear Snapgear OS 1.8.4
Linux kernel 2.4.21 pre7
Linux kernel 2.4.21 pre4
+ Mandriva Linux Mandrake 9.1 ppc
+ Mandriva Linux Mandrake 9.1
Linux kernel 2.4.21 pre1
Linux kernel 2.4.21
+ Conectiva Linux 9.0
+ Mandriva Linux Mandrake 9.1 ppc
+ Mandriva Linux Mandrake 9.1
+ Red Hat Enterprise Linux AS 3
+ RedHat Desktop 3.0
+ RedHat Enterprise Linux ES 3
+ RedHat Enterprise Linux WS 3
+ S.u.S.E. Linux Personal 9.0 x86_64
+ S.u.S.E. Linux Personal 9.0
+ SuSE SUSE Linux Enterprise Server 8
Linux kernel 2.4.20
+ CRUX CRUX Linux 1.0
+ Gentoo Linux 1.4
+ Gentoo Linux 1.2
+ RedHat Linux 9.0 i386
+ Slackware Linux 9.0
+ WOLK WOLK 4.4 s
Ingate SIParator 3.2
Ingate Firewall 3.2
Snapgear Snapgear OS 1.8.5
Linux kernel 2.4.21
+ Conectiva Linux 9.0
+ Mandriva Linux Mandrake 9.1 ppc
+ Mandriva Linux Mandrake 9.1
+ Red Hat Enterprise Linux AS 3
+ RedHat Desktop 3.0
+ RedHat Enterprise Linux ES 3
+ RedHat Enterprise Linux WS 3
+ S.u.S.E. Linux Personal 9.0 x86_64
+ S.u.S.E. Linux Personal 9.0
+ SuSE SUSE Linux Enterprise Server 8
Ingate SIParator 3.2.1
Ingate Firewall 3.2.1

- 不受影响的程序版本

Snapgear Snapgear OS 1.8.5
Linux kernel 2.4.21
+ Conectiva Linux 9.0
+ Mandriva Linux Mandrake 9.1 ppc
+ Mandriva Linux Mandrake 9.1
+ Red Hat Enterprise Linux AS 3
+ RedHat Desktop 3.0
+ RedHat Enterprise Linux ES 3
+ RedHat Enterprise Linux WS 3
+ S.u.S.E. Linux Personal 9.0 x86_64
+ S.u.S.E. Linux Personal 9.0
+ SuSE SUSE Linux Enterprise Server 8
Ingate SIParator 3.2.1
Ingate Firewall 3.2.1

- 漏洞讨论

The Netfilter project maintains the packet filter component of the Linux kernel. A fix for a denial of service vulnerability has been reported by the Netfilter project. The vulnerability is present on systems with the ip_nat_ftp or ip_nat_irc modules loaded or with a kernel built supporting options CONFIG_IP_NF_NAT_FTP or CONFIG_IP_NF_NAT_IRC.

- 漏洞利用

Currently we are not aware of any exploits for this issue. If you feel we are in error or are aware of more recent information, please mail us at: vuldb@securityfocus.com &lt;mailto:vuldb@securityfocus.com&gt;.

- 解决方案

This issue can be fixed by upgrading to the 2.4.21 kernel or later. A source code patch for 2.4.21pre7 is also available.

Ingate have released an advisory and upgrades to address this issue. Affected users are advised to upgrade as soon as possible.

Snapgear has released a pre-release (1.8.5) to address this issue.


Snapgear Snapgear OS 1.8.4

Linux kernel 2.4.20

Linux kernel 2.4.21 pre7

Linux kernel 2.4.21 pre4

Linux kernel 2.4.21 pre1

Ingate SIParator 3.2

Ingate Firewall 3.2

- 相关参考

 

 

关于SCAP中文社区

SCAP中文社区是国内第一个以SCAP为主题的中文开放社区。了解更多信息,请查阅[关于本站]

版权声明

CVE/CWE/OVAL均为MITRE公司的注册商标,它们的官方数据源均保存在MITRE公司的相关网站