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

OpenSSH UseLogin 指示操作可导致权利提升


发布时间:2001-12-05
更新时间:2001-12-05
严重程度:
威胁程度:远程管理员权限
错误类型:环境错误
利用方式:服务器模式

受影响系统
FreeBSD 4.3-RELEASE, 4.4-RELEASE
FreeBSD 4.4-STABLE
详细描述
OpenSSH是SSH1和SSH2安全SHELL协议的实现,可用来安全加密的网络访问。

OpenSSH存在一个特征允许用户安排环境变量设置用哪种KEY进行认证,这些
环境变量在用户home目录下的`authorized_keys' (SSHv1) 或者 `authorized_keys2'
(SSHv2) 文件中保存。这正常情况下是安全的,如这些环境变量只会传递给
用户的SHELL,由用户的权利来调用。

但是,当OpenSSH服务程序'sshd'如果配置使用系统登陆程序(在sshd_config文件
中的'UseLogin yes'来指示),这个环境变量就会传递给login,而这个是由超级
用户权利调用的,因为部分环境变量如LD_LIBRARY_PATH 和 LD_PRELOAD 也可以
使用上面描述的方法设置,这就可以导致用户安排login来执行任意代码。

所以FreeBSD 4.x存在此漏洞,不过OpenSSH一般默认配置没有使用系统登陆程序。

测试代码
尚无

解决方案
临时方法:

1)配置sshd不使用系统login程序,编辑配置文件,把'UseLogin'改为'UseLogin no'.
2)不激活public key认证,编辑配置文件改变任何`RSAAuthentication',`DSAAuthentication',
或者 `PubKeyAuthentication' 为`RSAAuthentication no', `DSAAuthentication no',
和`PubKeyAuthentication no'

服务配置文件一般存在于`/etc/ssh/sshd_config'或者`/usr/local/etc/sshd_config'.

修改配置文件后,重新启动SSHD:

# kill -HUP `cat /var/run/sshd.pid`


解决方案

1)升级受影响系统到4.3-RELEASEp21, 4.4-RELEASEp1,或者4.4-STABLE到修正
日期之后。

2)下载SSHD补丁程序:

# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-01:63/sshd.patch
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-01:63/sshd.patch.asc

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