CVE:CVE-2002-0573
CNNVD:CNNVD-200207-014
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的属性和内容、耗尽系统进程或者文件描述符表等等。远程利用这个漏洞比较困难，但还是可能的。
solution:Upgrade sun solaris to a higher version than 2.6,7.0,8.0,and avoid the version 2.6,7.0,8.0; Upgrade sun sunos to a higher version than -,5.7,5.8,and avoid the version 5.7,5.8