首页 -> 安全研究
安全研究
安全漏洞
FreeBSD .login_conf 泄漏敏感文件内容漏洞
发布日期:2001-09-21
更新日期:2001-09-26
受影响系统:
不受影响系统:
FreeBSD FreeBSD 5.0-CURRENT
FreeBSD FreeBSD 4.4-RC
FreeBSD FreeBSD 4.3
FreeBSD FreeBSD 4.2
FreeBSD FreeBSD 4.1
描述:
FreeBSD FreeBSD 4.4-RELEASE
FreeBSD 支持 BSD "login class capability database"(登录分类能力数据库)。通常
/etc/login.conf中包含了一些相关的属性和能力的配置选项。FreeBSD也支持在每个用户
的主目录下创建一个文件.login_conf,这个文件允许用户自己定义登录时的一些选项,
例如显示欢迎信息、环境变量等等。
FreeBSD 所带的OpenSSH在处理.login_conf时并没有丢弃root权限,因此可能导致普通
用户通过设置.login_conf文件选项来读取任意系统文件。
有问题的代码如下(session.c):
if (newcommand == NULL && !quiet_login && !options.use_login) {
fname = login_getcapstr(lc, "copyright", NULL, NULL);
if (fname != NULL && (f = fopen(fname, "r")) != NULL) {
while (fgets(buf, sizeof(buf), f) != NULL)
fputs(buf, stdout);
fclose(f);
和:
f = fopen(login_getcapstr(lc, "welcome", "/etc/motd",
"/etc/motd"), "r");
[...]
while (fgets(buf, sizeof(buf), f))
fputs(buf, stdout);
fclose(f);
FreeBSD的login(1)程序调用libutil库中的auth_checknologin()函数来判断用户是否允许
登录,并显示nologin文件的内容。由于login是以root身份执行的,并且在显示文件内容
时没有丢弃root权限,因此如果用户在主目录下的.login_conf中将nologin文件指向某些
系统文件,用户登录时就会获取该文件的内容。
有问题的代码在:
if (!rootlogin)
auth_checknologin(lc);
[...]
(void)setegid(pwd->pw_gid);
(void)seteuid(rootlogin ? 0 : pwd->pw_uid);
<*来源:Przemyslaw Frasunek (venglin@freebsd.lublin.pl)
链接:http://archives.neohapsis.com/archives/bugtraq/2001-09/0173.html
*>
测试方法:
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
1. 在用户目录下的~/.login_conf中设置如下语句:
default:\
:copyright=/etc/master.passwd:
或者
:welcome=/etc/master.passwd:
当使用ssh登录时,就会显示/etc/master.passwd的内容(服务器需提供了openssh服务)。
2. 在用户目录下的~/.login_conf中设置如下语句:
default:\
:nologin=/etc/master.passwd:
用户通过控制台或者telnet登录时将显示/etc/master.passwd的内容。
注意:这样将使得该用户无法登录进入系统。
建议:
临时解决方法:
如果您暂时无法升级,您可以禁止普通用户修改自己的~/.login_conf文件.
例如,对于用户test:
bash# cat /dev/null > ~test/.login_conf
bash# chflags schg ~test/.login_conf
这样test用户的.login_conf文件被清空并且他无法删除或者修改该文件。
厂商补丁:
升级到FreeBSD 4.4-RELEASE
或者通过CVS升级更新:
http://www.freebsd.org/cgi/cvsweb.cgi/~checkout~/src/lib/libutil/login_cap.c?rev=1.17.2.3&content-type=text/plain
FreeBSD将很快发布一个正式公告以及补丁。
浏览次数:3794
严重程度:0(网友投票)
绿盟科技给您安全的保障