OpenSSH缺陷允许攻击者远程利用/非法执行任意代码

/ns/ld/unix/data/20020703045649.htm

涉及程序:
OpenSSH versions 2.3.1p1 ~ 3.3

描述:
在OpenSSH 2.3.1p1到3.3版本中,关于挑战反应处理代码存在安全性缺陷。允许远程入侵者以sshd(通常是root)进程的身份执行任意指令。
第一个缺陷是因为在挑战反应认证过程中,OpenSSH在处理关于收到的响应次数的变量上存在整型溢出风险,如果挑战反应设置为打开,并且系统使用SKEY或者BSD_AUTH认证选项,则允许攻击者利用此缺陷远程执行任意指令。这个漏洞已经被证实。
第二个缺陷牵涉到使用交互式键盘认证的PAM模块, OpenSSH 2.3.1p1~3.3版本。OpenSSH在处理关于收到的响应次数的变量上存在缓冲溢出风险,不论挑战反应设置如何,系统使用交互式键盘认证的PAM模块(PAMAuthenticationViaKbdInt),可能会导致允许远程非法执行指令的风险。目前尚未有代码证实是否能达到攻击效果。
对这两个缺陷的攻击,都建立在使用SSH ver2的版本特征上。
多个Linux/Unix平台受该漏洞影响。

解决方案:
将OpenSSH升级到3.4版本。
http://www.openssh.com/txt/preauth.adv
禁止 SSH 协议 ver 2
在 /etc/ssh/sshd_config: 增加下面这行:
Protocol 1

禁止挑战反应认证
对于OpenSSH 2.9以上版本,管理员可以禁止挑战反应认证选项:
在 /etc/ssh/sshd_config 增加一行:

ChallengeResponseAuthentication no
默认情况下是设置为 yes

禁止PAM模块:
/etc/ssh/sshd_config:
PAMAuthenticationViaKbdInt no

老版本下禁止两个选项(2.3.1p1 and 2.9)
KbdInteractiveAuthentication no
ChallengeResponseAuthentication no

使用权限限制最小化影响:
/etc/ssh/sshd_config:
UsePrivilegeSeparation yes

多个Unix平台受此漏洞影响,已经有多个Unix vendor发布安全公告:
Debian Security Advisory DSA-134-4
http://www.debian.org/security/

NetBSD Security Advisory SA2002-005
ftp://ftp.netbsd.org/pub/NetBSD/security/advisories/NetBSD-SA2002-005.txt.asc

OpenPKG Security Advisory
http://www.openpkg.org/security.html

SuSE Security Announcement
ftp://ftp.suse.com/pub/suse/i386/update/8.0/sec1/openssh-3.3p1-6.i386.patch.rpm

Trustix Secure Linux
http://www.trustix.net/errata/misc/2002/TSL-2002-0059-openssh.asc.txt

攻击方法:
见黑客进阶文章