CVE-2001-1228
CVSS7.5
发布时间 :2001-11-18 00:00:00
修订时间 :2008-09-10 15:09:58
NMCOS    

[原文]Buffer overflows in gzip 1.3x, 1.2.4, and other versions might allow attackers to execute code via a long file name, possibly remotely if gzip is run on an FTP server.


[CNNVD]GZip超长文件名缓冲区溢出漏洞(CNNVD-200111-016)

        gzip 1.3x,1.2.4及其其他版本存在缓冲区溢出漏洞。攻击者可以借助超长文件名执行代码,如果gzip运行在FTP服务器上该漏洞可能是远程的。

- CVSS (基础分值)

CVSS分值: 7.5 [严重(HIGH)]
机密性影响: PARTIAL [很可能造成信息泄露]
完整性影响: PARTIAL [可能会导致系统文件被修改]
可用性影响: PARTIAL [可能会导致性能下降或中断资源访问]
攻击复杂度: LOW [漏洞利用没有访问限制 ]
攻击向量: [--]
身份认证: NONE [漏洞利用无需身份认证]

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

cpe:/a:gnu:gzip:1.2.4GNU Gzip 1.2.4
cpe:/a:gnu:gzip:1.3GNU Gzip 1.3
cpe:/a:gnu:gzip:1.2.4aGNU Gzip 1.2.4a

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

未找到相关OVAL定义

- 官方数据库链接

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

- 其它链接及资源

http://online.securityfocus.com/archive/1/247717
(VENDOR_ADVISORY)  BUGTRAQ  20011230 gzip bug w/ patch..
http://www.iss.net/security_center/static/7882.php
(UNKNOWN)  XF  gzip-long-filename-bo(7882)
ftp://ftp.netbsd.org/pub/NetBSD/security/advisories/NetBSD-SA2002-002.txt.asc
(UNKNOWN)  NETBSD  NetBSD-SA2002-002
http://www.securityfocus.com/bid/3712
(UNKNOWN)  BID  3712

- 漏洞信息

GZip超长文件名缓冲区溢出漏洞
高危 缓冲区溢出
2001-11-18 00:00:00 2005-10-20 00:00:00
本地  
        gzip 1.3x,1.2.4及其其他版本存在缓冲区溢出漏洞。攻击者可以借助超长文件名执行代码,如果gzip运行在FTP服务器上该漏洞可能是远程的。

- 公告与补丁

        The following patch has been offered by greg to fix the vulnerability:
        --- gzip.c Thu Aug 19 09:39:43 1993
        +++ gzip-fix.c Sun Dec 30 13:57:44 2001
        @@ -1006,7 +1006,7 @@
         char *dot; /* pointer to ifname extension, or NULL */
         #endif
        - strcpy(ifname, iname);
        + strncpy(ifname, iname, sizeof(ifname) - 1);
        /* If input file exists, return OK. */
         if (do_stat(ifname, sbuf) == 0) return OK;
        @@ -1683,7 +1683,7 @@
         }
         len = strlen(dir);
         if (len + NLENGTH(dp) + 1 < MAX_PATH_LEN - 1) {
        - strcpy(nbuf,dir);
        + strncpy(nbuf, dir, sizeof(nbuf) - 1);
         if (len != 0 /* dir = "" means current dir on Amiga */
         #ifdef PATH_SEP2
         && dir[len-1] != PATH_SEP2
        Various vendor-supplied fixes have been made available.
        GNU gzip 1.2.4
        
        GNU gzip 1.2.4 a
        

- 漏洞信息

10506
gzip Long File Name Overflow
Input Manipulation
Loss of Integrity

- 漏洞描述

Unknown or Incomplete

- 时间线

2001-12-30 Unknow
Unknow Unknow

- 解决方案

Unknown or Incomplete

- 相关参考

- 漏洞作者

Unknown or Incomplete

- 漏洞信息

GZip Long File Name Buffer Overflow Vulnerability
Boundary Condition Error 3712
No Yes
2001-12-18 12:00:00 2009-07-11 09:06:00
This vulnerability was announced in a Gobbles Security Advisory.

- 受影响的程序版本

GNU gzip 1.3
+ RedHat Linux 7.2 i386
+ RedHat Linux 7.2 alpha
+ RedHat Linux 7.1 i386
+ RedHat Linux 7.1 alpha
+ RedHat Linux 7.0 sparc
+ RedHat Linux 7.0 i386
+ RedHat Linux 7.0 alpha
GNU gzip 1.2.4 a
+ MandrakeSoft Corporate Server 3.0 x86_64
+ MandrakeSoft Corporate Server 3.0
+ MandrakeSoft Corporate Server 2.1 x86_64
+ MandrakeSoft Corporate Server 2.1
+ MandrakeSoft Corporate Server 1.0.1
+ MandrakeSoft Multi Network Firewall 2.0
+ MandrakeSoft Single Network Firewall 7.2
+ Mandriva Linux Mandrake 10.2 x86_64
+ Mandriva Linux Mandrake 10.2
+ Mandriva Linux Mandrake 10.1 x86_64
+ Mandriva Linux Mandrake 10.1
+ Mandriva Linux Mandrake 10.0 AMD64
+ Mandriva Linux Mandrake 10.0
+ Mandriva Linux Mandrake 9.1 ppc
+ Mandriva Linux Mandrake 9.1
+ Mandriva Linux Mandrake 9.0
+ Mandriva Linux Mandrake 8.2 ppc
+ Mandriva Linux Mandrake 8.2
+ Mandriva Linux Mandrake 8.1 ia64
+ Mandriva Linux Mandrake 8.1
+ Mandriva Linux Mandrake 8.0 ppc
+ Mandriva Linux Mandrake 8.0
+ Mandriva Linux Mandrake 7.2
+ Mandriva Linux Mandrake 7.1
+ Mandriva Linux Mandrake 7.0
+ RedHat Linux 6.2 sparc
+ RedHat Linux 6.2 i386
+ RedHat Linux 6.2 alpha
+ SGI IRIX 6.5.15 m
+ SGI IRIX 6.5.15 f
+ SGI IRIX 6.5.14 m
+ SGI IRIX 6.5.14 f
+ SGI IRIX 6.5.13 m
+ SGI IRIX 6.5.13 f
+ SGI IRIX 6.5.12 m
+ SGI IRIX 6.5.12 f
+ SGI IRIX 6.5.11 m
+ SGI IRIX 6.5.11 f
+ SGI IRIX 6.5.10
+ SGI IRIX 6.5.9
+ SGI IRIX 6.5.8
+ SGI IRIX 6.5.7
+ SGI IRIX 6.5.6
+ SGI IRIX 6.5.5
+ SGI IRIX 6.5.4
+ SGI IRIX 6.5.3
+ SGI IRIX 6.5.2
+ SGI IRIX 6.5.1
+ SGI IRIX 6.5
+ Trustix Secure Linux 1.5
+ Trustix Secure Linux 1.2
+ Trustix Secure Linux 1.1
GNU gzip 1.2.4
+ Debian Linux 2.2 sparc
+ Debian Linux 2.2 powerpc
+ Debian Linux 2.2 IA-32
+ Debian Linux 2.2 arm
+ Debian Linux 2.2 alpha
+ Debian Linux 2.2 68k
+ RedHat Linux 6.1 sparc
+ RedHat Linux 6.1 i386
+ RedHat Linux 6.1 alpha
+ RedHat Linux 6.0 sparc
+ RedHat Linux 6.0 alpha
+ RedHat Linux 6.0
+ RedHat Linux 5.2 sparc
+ RedHat Linux 5.2 i386
+ RedHat Linux 5.2 alpha
+ Slackware Linux 8.0
+ Slackware Linux 7.1
+ Slackware Linux 7.0
+ Sun Solaris 8_x86
+ Sun Solaris 8_sparc

- 漏洞讨论

gzip is a freely available, open source file compression utility. It is maintained and distributed by GNU.

gzip does not properly handle long file names. Upon execution of the program with a file name of 1028 bytes or greater, a buffer overflow occurs. This overflow could overwrite stack variables, including the return address, and be used to execute arbitrary code.

- 漏洞利用

Currently the SecurityFocus staff 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;.

- 解决方案

The following patch has been offered by greg <gregn@dekode.org> to fix the vulnerability:

--- gzip.c Thu Aug 19 09:39:43 1993
+++ gzip-fix.c Sun Dec 30 13:57:44 2001
@@ -1006,7 +1006,7 @@
char *dot; /* pointer to ifname extension, or NULL */
#endif

- strcpy(ifname, iname);
+ strncpy(ifname, iname, sizeof(ifname) - 1);

/* If input file exists, return OK. */
if (do_stat(ifname, sbuf) == 0) return OK;
@@ -1683,7 +1683,7 @@
}
len = strlen(dir);
if (len + NLENGTH(dp) + 1 < MAX_PATH_LEN - 1) {
- strcpy(nbuf,dir);
+ strncpy(nbuf, dir, sizeof(nbuf) - 1);
if (len != 0 /* dir = "" means current dir on Amiga */
#ifdef PATH_SEP2
&& dir[len-1] != PATH_SEP2

Various vendor-supplied fixes have been made available.


GNU gzip 1.2.4

GNU gzip 1.2.4 a

- 相关参考

 

 

关于SCAP中文社区

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

版权声明

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