xfocus logo xfocus title
首页 焦点原创 安全文摘 安全工具 安全漏洞 焦点项目 焦点论坛 关于我们
English Version

Kerberos 5 su 命令使用getlogin认证时存在漏洞


发布时间:2002-01-22
更新时间:2002-01-22
严重程度:
威胁程度:本地管理员权限
错误类型:设计错误
利用方式:服务器模式

受影响系统
FreeBSD 4.4-RELEASE
FreeBSD 4.4-STABLE 早于
2002-01-15 21:52:48 UTC (RELENG_4)
2002-01-17 15:45:05 UTC (RELENG_4_4)
2002-10-31 19:58:05 UTC (heimdal port)
详细描述
getlogin和setlogin系统调用用来管理关联login进程的用户名,k5su是kerberos 5
su程序,类似su,它允许未授权用户转换用户获得更高权利。

setlogin系统调用由超级用户限制使用,用来关联一login进程相关的用户名。getlogin
系统调用被用来获得用户名,setlogin系统调用经常被login和sshd使用。

包含在FreeBSD4.5-RELEASE版本k5su命令和包含在heimdal-0.4e_2包之前版本的
su命令使用getlogin系统调用为了检测是否当前登陆用户是不是'root'.在某些
环境下,可能时非特权进程获得getlogin返回的登陆名如'root'.

k5su命令会被安装在Kerberos 5支持的FREEBSD系统中,或者第三方程序Heimdal
被安装的情况下使用。

本漏洞最终导致一些由root启动的进程但已经放弃超级用户的进程,可以被调用
'k5su'而重新获得超级用户权利。

测试代码
尚无

解决方案
临时方法:

# chmod u-s /usr/bin/k5su
# chmod u-s /usr/local/bin/su


或者下载如下补丁程序:

# fetch ftp://ftp.freebsd.org/pub/FreeBSD/CERT/patches/SA-02:07/k5su.patch
# fetch ftp://ftp.freebsd.org/pub/FreeBSD/CERT/patches/SA-02:07/k5su.patch.asc

执行下列命令进行安装:

# cd /usr/src
# patch < /path/to/k5su.patch
# cd /usr/src/kerberos5/lib
# env MAKE_KERBEROS5=yes make depend
# env MAKE_KERBEROS5=yes make all install
# cd /usr/src/kerberos5/usr.bin/k5su
# env MAKE_KERBEROS5=yes make depend
# env MAKE_KERBEROS5=yes make all install

如果使用了Heimdal,就下载如下升级程序:

i386]
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-4-stable/security/heimdal-0.4e_2.tgz
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-5-current/security/heimdal-0.4e_2.tgz

相关信息
参考:http://www.securityfocus.com/advisories/3809