OpenSSH与OpenPAM进程交互机制存在漏洞

来源:岁月联盟 编辑:zhuzhu 时间:2006-03-04
OpenSSH与OpenPAM进程交互机制存在漏洞   描述:

  OpenSSH是SSH协议组的实现,可为各种服务提供加密的认证传输,包括远程shell访问。OpenPAM是PAM架构的实现,允许使用可加载的模块实现管理员所定义的用户认证和会话管理。OpenSSH和FreeBSD中很多其他应用程序都使用OpenPAM提供一致的可配置的认证系统。

  OpenSSH与OpenPAM的进程交互机制上存在漏洞,远程安全者可能利用此漏洞对OpenSSH执行拒绝服务安全,导致OpenSSH无法处理正常请求。

  由于OpenSSH和OpenPAM之间存在设计冲突(一个是事件驱动而另一个为回调驱动),因此OpenSSH必须fork子进程以处理对PAM框架的调用。但是,如果非特权子进程终止而PAM认证仍然继续,父进程就会错误地相信PAM子进程也已终止。因此父进程就会终止,留下PAM子进程。

  根据OpenSSH执行内部计算的方法,主OpenSSH服务进程会将这些孤儿PAM子进程计算为尚未完成的连接。一旦累积了一定数目的孤儿进程的话,主进程就会认为已经过载,不再接受客户端连接。

  安全者可以通过反复连接到有漏洞的服务器、等待口令提示并关闭连接导致OpenSSH停止接受客户端连接,直到系统重启或管理员手动杀死孤儿PAM进程。

  受影响系统:

  FreeBSD FreeBSD 5.4

  FreeBSD FreeBSD 5.3

  OpenBSD OpenSSH 3.8.1p1

  不受影响系统:

  OpenBSD OpenSSH 3.9p1

  补丁下载:

  FreeBSD

  -------

  FreeBSD已经为此发布了一个安全公告(FreeBSD-SA-06:09)以及相应补丁:

  FreeBSD-SA-06:09:Remote denial of service in OpenSSH

  链接:ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-06:09.openssh.asc