OpenSSH安全公告:OpenSSH中的访问控制存在漏洞发布时间:2001-09-27 更新时间:2001-09-27 严重程度:中 威胁程度:欺骗 错误类型:设计错误 利用方式:服务器模式 受影响系统 OpenSSH between 2.5.x 和 2.9.x详细描述 OpenSSH在~/.ssh/authorized_keys2中组合了RSA和DSA并使用'from='key的 文件选项存在此漏洞。 依靠在~/.ssh/authorized_keys2 sshd上用户KEYS的顺序问题可能导致对源 IP访问控制限制失败(如from="10.0.0.1") ,如果源IP限制KEY如DSA KEY马上 跟随在不同类型的KEY如RSA KEY,这样第二个KEY下的KEY 选项会同时被两个 KEY使用,其中包括'from='.这样用户可以根据系统策略从不同源IP地址登陆。 测试代码 见描述 解决方案 Index: key.c =================================================================== RCS file: /cvs/src/usr.bin/ssh/key.c,v retrieving revision 1.31 retrieving revision 1.32 diff -u -p -IRCSID -r1.31 -r1.32 --- key.c 2001/09/17 20:50:22 1.31 +++ key.c 2001/09/19 13:23:29 1.32 @@ -358,7 +358,7 @@ write_bignum(FILE *f, BIGNUM *num) return 1; } -/* returns 1 ok, -1 error, 0 type mismatch */ +/* returns 1 ok, -1 error */ int key_read(Key *ret, char **cpp) { @@ -413,7 +413,7 @@ key_read(Key *ret, char **cpp) } else if (ret->type != type) { /* is a key, but different type */ debug3("key_read: type mismatch"); - return 0; + return -1; } len = 2*strlen(cp); blob = xmalloc(len); 以及OpenSSH 2.9.9 不存在此问题。 相关信息 |