漏洞信息详情
file工具本地缓冲区溢出漏洞
- CNNVD编号:CNNVD-200303-058
- 危害等级: 中危
- CVE编号:
CVE-2003-0102
- 漏洞类型:
边界条件错误
- 发布时间:
2003-03-18
- 威胁类型:
本地
- 更新时间:
2005-05-13
- 厂 商:
netbsd - 漏洞来源:
iDEFENSE Security … -
漏洞简介
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
—————
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
参考网址
来源:US-CERT Vulnerability Note: VU#611865
名称: VU#611865
链接:http://www.kb.cert.org/vuls/id/611865
来源: BID
名称: 7008
链接:http://www.securityfocus.com/bid/7008
来源: www.idefense.com
链接:http://www.idefense.com/advisory/03.04.03.txt
来源: XF
名称: file-afctr-read-bo(11469)
链接:http://xforce.iss.net/xforce/xfdb/11469
来源: REDHAT
名称: RHSA-2003:087
链接:http://www.redhat.com/support/errata/RHSA-2003-087.html
来源: REDHAT
名称: RHSA-2003:086
链接:http://www.redhat.com/support/errata/RHSA-2003-086.html
来源: SUSE
名称: SuSE-SA:2003:017
链接:http://www.novell.com/linux/security/advisories/2003_017_file.html
来源: MANDRAKE
名称: MDKSA-2003:030
链接:http://www.mandrakesoft.com/security/advisories?name=MDKSA-2003:030
来源: DEBIAN
名称: DSA-260
链接:http://www.debian.org/security/2003/dsa-260
来源: BUGTRAQ
名称: 20030304 iDEFENSE Security Advisory 03.04.03: Locally Exploitable Buffer Overflow in file(1)
链接:http://marc.theaimsgroup.com/?l=bugtraq&m=104680706201721&w=2
来源: IMMUNIX
名称: IMNX-2003-7+-012-01
链接:http://lwn.net/Alerts/34908/
来源: NETBSD
名称: NetBSD-SA2003-003
链接:ftp://ftp.netbsd.org/pub/NetBSD/security/advisories/NetBSD-SA2003-003.txt.asc