file工具本地缓冲区溢出漏洞

漏洞信息详情

file工具本地缓冲区溢出漏洞

漏洞简介

file(1)是一款查看文件类型的工具。
file(1)命令存在一个缓冲区溢出漏洞,本地攻击者可以利用这个漏洞以执行用户权限在系统上执行任意指令。
问题存在于readelf.c中的587行tryelf()函数的doshn()调用中:
doshn(class, swap,
fd,
getu32(swap, elfhdr.e_shoff),
getu16(swap, elfhdr.e_shnum),
getu16(swap, elfhdr.e_shentsize));
doshn() \’\’elfhdr.e_shentsize\’\’最后一个参数将在之后用于readelf.c 133行的read()函数中:
if (read(fd, sh_addr, size) == -1)
read()调用会拷贝\’\’size\’\’字节到readelf.c 92行定义的\’\’sh_addr\’\’变量中:
#define sh_addr (class == ELFCLASS32 \
? (void *) &sh32 \
: (void *) &sh64)
用于read()函数的缓冲区大小只有0x20 (32)字节,通过提供0x28 (40)字节的\’\’size\’\’参数可导致覆盖堆栈中的EBP和EIP寄存器而以其他用户权限执行任意代码。
用户可以构建恶意文件诱使其他用户来分析,导致发生缓冲区溢出,而以执行用户权限执行任意指令。

漏洞公告

厂商补丁:
Christos Zoulas
—————
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

ftp://ftp.astron.com/pub/file/file-3.41.tar.gz

参考网址

来源:US-CERT Vulnerability Note: VU#100937
名称: VU#100937
链接:http://www.kb.cert.org/vuls/id/100937

来源: XF
名称: file-afctr-memory-allocation(11488)
链接:http://xforce.iss.net/xforce/xfdb/11488

来源: BID
名称: 7009
链接:http://www.securityfocus.com/bid/7009

来源: OPENPKG
名称: OpenPKG-SA-2003.017
链接:http://www.securityfocus.com/archive/1/313847

来源:NSFOCUS
名称:4500
链接:http://www.nsfocus.net/vulndb/4500

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享