首页 -> 安全研究

安全研究

安全漏洞
BSD talk远程格式串漏洞

发布日期:2000-10-07
更新日期:2000-10-07

受影响系统:
OpenBSD OpenBSD 2.7
OpenBSD OpenBSD 2.6
OpenBSD OpenBSD 2.5
OpenBSD OpenBSD 2.4
OpenBSD OpenBSD 2.3
RedHat Linux 5.2 sparc
RedHat Linux 5.2 i386
RedHat Linux 5.2 alpha
RedHat Linux 5.1
   - Standard & Poors ComStock 4.2.4
RedHat Linux 5.0

不受影响系统:
OpenBSD OpenBSD 2.8
RedHat Linux 7.0
RedHat Linux 6.2 sparc
RedHat Linux 6.2 i386
RedHat Linux 6.2 alpha
RedHat Linux 6.1 sparc
RedHat Linux 6.1 i386
RedHat Linux 6.1 alpha
RedHat Linux 6.0 sparc
RedHat Linux 6.0 i386
RedHat Linux 6.0 alpha
描述:

talkd是随许多unix变种一起发行的客户机/服务器式应用程序,用来在网上的主机之间进行用户通信。与较老的Linux发行版和OpenBSD(其它系统也可能)一起发行的talkd程序容易受到一个远程格式串漏洞的攻击。
当talk客户端连接talk服务器并请求与某个用户进行通信时,talkd(服务程序)将检查该用户是否愿意接受消息。如果愿意接受消息,则它将在用户的终端上打印一条消息,告诉用户 “username@hostname” 想和该用户交谈。这是通过fprintf( )函数来完成的,传递给该函数的格式串的一部分正好是客户端提供的数据。
announce.c文件中的fprintf( )调用使用来访者的用户名和远程主机名作为其格式串的参数。来访者的用户名是在客户端发来的数据报中提供的。因此攻击者可能修改talk客户端程序,发送一个包含恶意格式说明符的用户名以覆盖远程服务器进程的堆栈内存。
这使得远程执行任意代码成为可能,并导致窃取root权限的危害。
OpenBSD默认是允许talkd运行。NetBSD可能存在这个漏洞(未经证实),尽管其talkd程序写用户终端的实现方法稍有不同。FreeBSD可能也容易受到这个漏洞的攻击。

<* 来源:K2 (ktwo@ktwo.ca) *>



测试方法:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!


    暂无。


建议:
临时解决办法:

    NSFOCUS建议您尽快升级到OpenBSD 2.8,或者修改talkd程序中相应的代码并重新编译该程序。

厂商补丁:

   OpenBSD 2.8已解决此问题。

浏览次数:5729
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障