漏洞信息详情
Linux-PAM getlogin()可被欺骗漏洞
- CNNVD编号:CNNVD-200307-045
- 危害等级: 中危
- CVE编号:
CVE-2003-0388
- 漏洞类型:
访问验证错误
- 发布时间:
2003-06-16
- 威胁类型:
本地
- 更新时间:
2005-10-20
- 厂 商:
andrew_morgan - 漏洞来源:
iDEFENSE Security … -
漏洞简介
Pluggable Authentication Module (PAM)是用于验证用户的机制。使用在多种Linux版本上。
Linux-PAM中的pam_wheel没有安全地使用getlogin()函数,本地攻击者可以利用这个漏洞有可能绕过部分限制,无需密码获得root用户权限。
pam_wheel模块一般结合su(1)允许属于可信组的用户无需密码使用部分命令。此模块利用getlogin()函数判断当前登录用户名,获取的用户名然后与配置文件中指定的可信组列表成员进行比较,下面是部分代码:
fromsu = getlogin();
if (fromsu) {
tpwd = getpwnam(fromsu);
}
…
…
…
/*
* 测试用户是否为组成员,或者用户是否把\”wheel\”作为它的首要组
*/
if (is_on_list(grp->gr_mem, fromsu) || (tpwd->pw_gid == grp->gr_gid)) {
if (ctrl & PAM_DENY_ARG) {
retval = PAM_PERM_DENIED;
} else if (ctrl & PAM_TRUST_ARG) {
retval = PAM_SUCCESS; /* this can be a sufficient check
*/
} else {
retval = PAM_IGNORE;
}
} else {
如果在pam_wheel配置文件中\”trust\”选项使能,而\”use_uid\”选项不使用的情况下,任意本地用户可以伪造由getlogin()返回的用户名,无需密码获得超级用户权限。
不过上面的配置在多数Linux安装中不是默认配置。
漏洞公告
厂商补丁:
Andrew G. Morgan
—————-
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
http://www.kernel.org/pub/linux/libs/pam/” target=”_blank”>
http://www.kernel.org/pub/linux/libs/pam/
参考网址
来源: www.idefense.com
链接:http://www.idefense.com/advisory/06.16.03.txt
来源: BUGTRAQ
名称: 20030616 FW: iDEFENSE Security Advisory 06.16.03: Linux-PAM getlogin() Spoofing
链接:http://marc.theaimsgroup.com/?l=bugtraq&m=105577915506761&w=2
来源: REDHAT
名称: RHSA-2004:304
链接:http://www.redhat.com/support/errata/RHSA-2004-304.html