漏洞信息详情
Solaris rpc.rwalld远程格式串溢出漏洞
- CNNVD编号:CNNVD-200207-014
- 危害等级: 高危
- CVE编号:
CVE-2002-0573
- 漏洞类型:
输入验证
- 发布时间:
2002-04-30
- 威胁类型:
远程
- 更新时间:
2005-05-02
- 厂 商:
sun - 漏洞来源:
GOBBLES※ gobbles@h… -
漏洞简介
rwalld守护程序(rpc.rwalld)是一个处理网络wall请求的服务器。在接到rwall请求时,它调用本地的wall向一个时间共享系统中的所有终端发送信息。
它在处理rwall客户端发来的信息时存在一个格式串漏洞,可允许本地或者远程攻击者以rwall守护程序的权限(缺省是root权限)执行任意代码。
问题出在rwall_subr.c中的一段信息处理代码:
/*
* Make sure the wall programs exists, is executeable, and runs
*/
if (rval == -1 || (wall.st_mode & S_IXUSR) == 0 ||
(fp = popen(WALL_PROG, \”w\”)) == NULL) {
syslog(LOG_NOTICE,
\”rwall message received but could not execute \\%s\”,
WALL_PROG);
syslog(LOG_NOTICE, msg);
如果popen(WALL_PROG, \”w\”)调用出错,程序会调用syslog()报告出错信息,由于错误的将客户端发来的信息(msg)作为格式串进行处理,客户端就可能利用这个漏洞重写内存内容,改变程序执行流程,并可能执行任意代码。
攻击者利用这个漏洞需要能够使得popen调用失败,结合一些其他的攻击手法,比如设法删除rwalld或改变rwalld的属性和内容、耗尽系统进程或者文件描述符表等等。远程利用这个漏洞比较困难,但还是可能的。
漏洞公告
临时解决方法:
如果您不能立刻安装补丁或者升级,CNNVD建议您采取以下措施以降低威胁:
* rwalld服务不是必需的RPC服务,关闭它对于本地系统不会有任何不良影响,因此我们建议您关闭rwalld服务。
具体方法是:
1. 转变成root用户
$ su –
#
2. 关闭rpc.rwalld服务
使用您熟悉的编辑器打开/etc/inetd.conf文件,找到如下行:
walld/1 tli rpc/datagram_v wait root /usr/lib/netsvc/rwall/rpc.rwalld rpc.rwalld
在该行的开始处增加”#”号来将其注释:
#walld/1 tli rpc/datagram_v wait root /usr/lib/netsvc/rwall/rpc.rwalld rpc.rwalld
保存修改,退出编辑器。
3. 禁止rpc.rwalld的执行权限(可选)
# chmod 000 /usr/lib/netsvc/rwall/rpc.rwalld
4. 重新启动inetd
# ps -ef|grep inetd
root 167 1 0 Oct 07 ? 0:07 /usr/sbin/inetd -s -t
# kill -HUP 167 (上面的例子中,167是inetd的pid)
厂商补丁:
Sun
—
目前厂商已经发布了升级补丁以修复这个安全问题:
SPARC:
Solaris 2.5.1 112891-01
Solaris 2.6 112893-01
Solaris 7 112899-01
Solaris 8 112846-01
Solaris 9 112875-01
Intel:
Solaris 2.5.1 112892-01
Solaris 2.6 112894-01
Solaris 7 112900-01
Solaris 8 112847-01
您可以使用下列链接来下载相应补丁:
http://sunsolve.sun.com/pub-cgi/patchDownload.pl?target=<补丁ID>&method=h” target=”_blank”>
http://sunsolve.sun.com/pub-cgi/patchDownload.pl?target=<补丁ID>&method=h
例如,对于代号为111596-02的补丁,您可以使用下列链接:
http://sunsolve.sun.com/pub-cgi/patchDownload.pl?target=111596&method=h” target=”_blank”>
http://sunsolve.sun.com/pub-cgi/patchDownload.pl?target=111596&method=h
补丁安装方法:
1. 首先用unzip或者uncompress命令将补丁包解压缩
2. 然后使用patchadd 命令安装补丁,例如:
# patchadd /var/spool/patch/104945-02
假设要安装的补丁号是104945-02, 解压之后的目录在:”/var/spool/patch/104945-02″
参考网址
来源:CERT/CC Advisory: CA-2002-10
名称: CA-2002-10
链接:http://www.cert.org/advisories/CA-2002-10.html
来源:US-CERT Vulnerability Note: VU#638099
名称: VU#638099
链接:http://www.kb.cert.org/vuls/id/638099
来源: XF
名称: solaris-rwall-format-string(8971)
链接:http://www.iss.net/security_center/static/8971.php
来源: BUGTRAQ
名称: 20020430 Adivosry + Exploit for Remote Root Hole in Default Installation of Popular Commercial Operating System
链接:http://online.securityfocus.com/archive/1/270268
来源: BID
名称: 4639
链接:http://www.securityfocus.com/bid/4639
来源: OSVDB
名称: 778
链接:http://www.osvdb.org/778
来源: VULNWATCH
名称: 20020430 [VulnWatch] Adivosry + Exploit for Remote Root Hole in Default Installation of Popular Commercial Operating System
链接:http://archives.neohapsis.com/archives/vulnwatch/2002-q2/0049.html
来源: US Government Resource: oval:org.mitre.oval:def:79
名称: oval:org.mitre.oval:def:79
链接:http://oval.mitre.org/repository/data/getDef?id=oval:org.mitre.oval:def:79
来源: US Government Resource: oval:org.mitre.oval:def:41
名称: oval:org.mitre.oval:def:41
链接:http://oval.mitre.org/repository/data/getDef?id=oval:org.mitre.oval:def:41