漏洞信息详情
OpenBSD CHPass不安全临时文件符号链接漏洞
- CNNVD编号:CNNVD-200312-419
- 危害等级: 低危
- CVE编号:
CVE-2003-1366
- 漏洞类型:
信息泄露
- 发布时间:
2003-02-03
- 威胁类型:
本地
- 更新时间:
2003-12-31
- 厂 商:
openbsd - 漏洞来源:
Marc Bevand※ bevan… -
漏洞简介
OpenBSD是一款开放源代码的UNIX操作系统,提供用于编辑用户数据信息的工具chpass(1)(或硬连接到此程序的chfn和chsh)。
chpass不正确处理临时文件,本地攻击者可以利用这个漏洞显示系统任意文件中的部分内容。
chpass会把用户数据库信息写到临时文件中以供编辑器修改,当编辑器运行时,用户可以挂起编辑器(^Z),并使用硬连接指向的任意文件来代替临时文件,然后在恢复编辑器到前台,以不保存方式退出编辑器,让chpass进行文件的其他操作,在这时候chpass打开文件,会以如下方式读取文件:
-如果文件超过2048字节,将放弃读取。
-如果文件以\’\’#\’\’开头,忽略。
-其他的检查行的有效性。
如果发现检查的行合法,chpass就会处理下一个。但是如果某行不合法及以\”shell:\”开头,并剩余的字符是可打印字符,当chpass处理时就会显示错误消息,但错误消息中包含文件内容,造成硬连接指向的敏感文件内容被泄露。
漏洞公告
临时解决方法:
如果您不能立刻安装补丁或者升级,CNNVD建议您采取以下措施以降低威胁:
* Marc Bevand <bevand_m@epita.fr>提供了如下第三方补丁程序:
http://www.epita.fr/~bevand_m/asa/asa-0001.openbsd-chpass.cvs-diff” target=”_blank”>
http://www.epita.fr/~bevand_m/asa/asa-0001.openbsd-chpass.cvs-diff
—8<————– asa-0001.openbsd-chpass.cvs-diff —————–
Index: edit.c
===================================================================
RCS file: /cvs/src/usr.bin/chpass/edit.c,v
retrieving revision 1.23
diff -u -r1.23 edit.c
— edit.c 31 Jul 2002 22:08:42 -0000 1.23
+++ edit.c 2 Feb 2003 18:34:02 -0000
@@ -48,6 +48,7 @@
#include
#include
#include
+#include
#include
#include
#include
@@ -152,12 +153,14 @@
char *p, *q;
ENTRY *ep;
FILE *fp;
+ int fd;
– if (!(fp = fopen(tempname, “r”)))
+ if ((fd = open(tempname, O_RDONLY|O_NOFOLLOW)) == -1 ||
+ (fp = fdopen(fd, “r”)) == NULL)
pw_error(tempname, 1, 1);
– if (fstat(fileno(fp), &sb))
+ if (fstat(fd, &sb))
pw_error(tempname, 1, 1);
– if (sb.st_size == 0) {
+ if (sb.st_size == 0 || sb.st_nlink != 1) {
warnx(“corrupted temporary file”);
goto bad;
}
—8<————– asa-0001.openbsd-chpass.cvs-diff —————–
厂商补丁:
OpenBSD
——-
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
http://www.openbsd.org/security.html” target=”_blank”>
http://www.openbsd.org/security.html
参考网址
来源: XF
名称: openbsd-chpass-information-disclosure(11233)
链接:http://xforce.iss.net/xforce/xfdb/11233
来源: BID
名称: 6748
链接:http://www.securityfocus.com/bid/6748
来源: BUGTRAQ
名称: 20030203 ASA-0001: OpenBSD chpass/chfn/chsh file content leak
链接:http://www.securityfocus.com/archive/1/309962
来源: SECTRACK
名称: 1006035
链接:http://www.securitytracker.com/id?1006035
来源: SREASON
名称: 3238
链接:http://securityreason.com/securityalert/3238
来源:NSFOCUS
名称:4310
链接:http://www.nsfocus.net/vulndb/4310