安全研究
安全漏洞
gfax不安全临时文件本地权限提升漏洞
发布日期:2007-07-05
更新日期:2007-07-09
受影响系统:
GFAX GFAX 0.7.6描述:
BUGTRAQ ID: 24780
CVE(CAN) ID: CVE-2007-2839
gfax是网络传真程序的GHOME前端。
gfax在处理临时文件时存在漏洞,本地攻击者可能此漏洞提升自己的权限。
gfax的src/mgett_setup.c文件中的delete_crontab_entry()函数以不安全的方式处理了临时文件:
/* if it's NULL then nuke the faxrunq crontab entry. */
if ((fin = fopen("/etc/crontab", "r")) == NULL) {
do_message(_("\nCan't open /etc/crontab\n"));
return;
}
if ((fout = fopen("/tmp/crontab", "w")) == NULL) {
do_message(_("\nCan't create /tmp/crontab\n"));
return;
}
while (fgets(buf, 128, fin) != NULL) {
fputs(buf, fout);
fclose(fout);
fclose(fin);
/* now copy the new file back to /etc */
if ((fin = fopen("/tmp/crontab", "r")) == NULL) {
do_message(_("\nCan't open /tmp/crontab\n"));
return;
}
if ((fout = fopen("/etc/crontab", "w")) == NULL) {
do_message(_("\nCan't create /etc/crontab\n"));
return;
}
while ((c = fgetc(fin)) != EOF)
fputc(c, fout);
fclose(fout);
fclose(fin);
remove("/tmp/crontab");
这可能导致向/etc/crontab文件中写入任意命令。如果/tmp/crontab已存在的话(非root用户所有),就会被截短并删除,但所有者仍保持为非root用户,因此第一个和第二个拷贝之间就存在竞争条件,允许向/etc/crontab附加任意行。
<*来源:Steve Kemp (skx@debian.org)
链接:http://secunia.com/advisories/25937/
http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=5;bug=431893
http://www.debian.org/security/2007/dsa-1329
*>
测试方法:
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
建议:
厂商补丁:
Debian
------
Debian已经为此发布了一个安全公告(DSA-1329-1)以及相应补丁:
DSA-1329-1:New gfax packages fix privilege escalation
链接:http://www.debian.org/security/2007/dsa-1329
补丁下载:
Source archives:
http://security.debian.org/pool/updates/main/g/gfax/gfax_0.4.2.orig.tar.gz
Size/MD5 checksum: 396636 815523780287a97133e85585f0319a20
http://security.debian.org/pool/updates/main/g/gfax/gfax_0.4.2-11sarge1.diff.gz
Size/MD5 checksum: 14946 7393373a40448daf52e4b64ff1d4f6a7
http://security.debian.org/pool/updates/main/g/gfax/gfax_0.4.2-11sarge1.dsc
Size/MD5 checksum: 632 ed841ab6349ff80527cb49fb1fc6595f
alpha architecture (DEC Alpha)
http://security.debian.org/pool/updates/main/g/gfax/gfax_0.4.2-11sarge1_alpha.deb
Size/MD5 checksum: 125376 57c5e15d94699b99fabbf4f692df667e
amd64 architecture (AMD x86_64 (AMD64))
http://security.debian.org/pool/updates/main/g/gfax/gfax_0.4.2-11sarge1_amd64.deb
Size/MD5 checksum: 123102 9926dfcd4d62b4407f58f34e31a069c3
arm architecture (ARM)
http://security.debian.org/pool/updates/main/g/gfax/gfax_0.4.2-11sarge1_arm.deb
Size/MD5 checksum: 118812 57168963066d0f0473ea9e34f8d208ef
i386 architecture (Intel ia32)
http://security.debian.org/pool/updates/main/g/gfax/gfax_0.4.2-11sarge1_i386.deb
Size/MD5 checksum: 122306 1e13b2d599ca2e0a2a63bda455ab13ab
ia64 architecture (Intel ia64)
http://security.debian.org/pool/updates/main/g/gfax/gfax_0.4.2-11sarge1_ia64.deb
Size/MD5 checksum: 133284 c87980b9a8895817fce94c40b20f52f7
m68k architecture (Motorola Mc680x0)
http://security.debian.org/pool/updates/main/g/gfax/gfax_0.4.2-11sarge1_m68k.deb
Size/MD5 checksum: 117290 8f7352fcec87f588168777690c081f99
s390 architecture (IBM S/390)
http://security.debian.org/pool/updates/main/g/gfax/gfax_0.4.2-11sarge1_s390.deb
Size/MD5 checksum: 122588 e23038de978cf94e5d1a710a406797f6
sparc architecture (Sun SPARC/UltraSPARC)
http://security.debian.org/pool/updates/main/g/gfax/gfax_0.4.2-11sarge1_sparc.deb
Size/MD5 checksum: 118830 2ed8af350418bdfaebea02e318c1e0f3
补丁安装方法:
1. 手工安装补丁包:
首先,使用下面的命令来下载补丁软件:
# wget url (url是补丁下载链接地址)
然后,使用下面的命令来安装补丁:
# dpkg -i file.deb (file是相应的补丁名)
2. 使用apt-get自动安装补丁包:
首先,使用下面的命令更新内部数据库:
# apt-get update
然后,使用下面的命令安装更新软件包:
# apt-get upgrade
浏览次数:2966
严重程度:0(网友投票)
绿盟科技给您安全的保障
