首页 | 安全文章 | 安全工具 | Exploits | 本站原创 | 关于我们 | 网站地图 | 安全论坛
  当前位置:主页>安全文章>文章资料>漏洞资料>文章内容
ToolTalk rpc.ttdbserverd _tt_internal_realpath Buffer Overflow Vulnerability
来源:http://risesecurity.org 作者:risesecurity 发布时间:2009-06-22  

RISE-2009001
ToolTalk rpc.ttdbserverd _tt_internal_realpath Buffer Overflow Vulnerability

http://risesecurity.org/advisories/RISE-2009001.txt
Published: June 19, 2009
Updated: June 19, 2009

INTRODUCTION

There exists a vulnerability within a function of the ToolTalk database server
(rpc.ttdbserverd), which when properly exploited can lead to remote compromise
of the vulnerable system.
This vulnerability was confirmed by us in the following versions of operating
systems, other operating systems and versions may be also affected.

IBM AIX Version 6.1.3
IBM AIX Version 6.1.2
IBM AIX Version 6.1.1
IBM AIX Version 6.1.0
IBM AIX Version 5.3.10
IBM AIX Version 5.3.9
IBM AIX Version 5.3.8
IBM AIX Version 5.3.7
IBM AIX Version 5.3.0
IBM AIX Version 5.2.0
IBM AIX Version 5.1.0

To determine whether the ToolTalk database server is running on a host, use the
"rpcinfo" command to print a list of the RPC services running on it, as:

$ rpcinfo -p hostname

The remote program number for the ToolTalk database server is 100083. If an
entry exists for this program, then the ToolTalk database server is running on
the system.

    100083    1   tcp  32768  ttdbserver

DETAILS

As computer users increasingly demand that independently developed applications
work together, inter-operability is becoming an important theme for software
developers. By cooperatively using each other's facilities, inter-operating
applications offer users capabilities that would be difficult to provide in a
single application. The ToolTalk service is designed to facilitate the
development of inter-operating applications that serve individuals and work
groups.

The following ToolTalk service components work together to provide
inter-application communication and object information management:

  * ttsession is the ToolTalk communication process.

    This process joins together senders and receivers that are either using the
    same X server or interested in the same file. One ttsession communicates
    with other ttsessions when a message needs to be delivered to an application
    in another session.

  * rpc.ttdbserverd is the ToolTalk database server process.

    One rpc.ttdbserverd is installed on each machine which contains a disk
    partition that stores files of interest to ToolTalk clients or files that
    contain ToolTalk objects.

    File and ToolTalk object information is stored in a records database managed
    by rpc.ttdbserverd.

  * libtt is the ToolTalk application programming interface (API) library.

    Applications include the API library in their program and call the ToolTalk
    functions in the library.

The ToolTalk service uses the Remote Procedure Call (RPC) to communicate between
these ToolTalk components.

Applications provide the ToolTalk service with process and object type
information. This information is stored in an XDR format file, which is referred
to as the ToolTalk Types Database in this manual.

The vulnerable function _tt_internal_realpath() does not validate user supplied
data when copying it to a stack-based buffer using strcpy(), resulting in a
stack-based buffer overflow. The exploitation of this vulnerability is trivial
and results in remote compromise of the vulnerable system.

This vulnerability can be triggered by calling remote procedure 15 of ToolTalk
database server with a large XDR-encoded ASCII string as its argument.


Breakpoint 1, 0xd37b2200 in _tt_internal_realpath () from
/usr/lib/libtt.a(shr.o)
(gdb) where
#0  0xd37b2200 in _tt_internal_realpath () from /usr/lib/libtt.a(shr.o)
#1  0xd37af9f0 in _tt_get_realpath__FPcT1 () from /usr/lib/libtt.a(shr.o)
#2  0xd37b00b4 in _tt_realpath () from /usr/lib/libtt.a(shr.o)
#3  0xd37b287c in _Tt_file_system::bestMatchToPath () from
/usr/lib/libtt.a(shr.o)
#4  0x1001ca50 in ?? ()
...
(gdb) stepi
0xd37b2240 in _tt_internal_realpath () from /usr/lib/libtt.a(shr.o)
(gdb) x/i $pc
0xd37b2240:     bl      0xd3793080
(gdb) x/s $r4
0x200aa4a8:      "/hom\e/root/", 'A' <repeats 189 times>...
(gdb) stepi  
0xd3793080 in strcpy () from /usr/lib/libtt.a(shr.o)
(gdb) step
Single stepping until exit from function strcpy,
which has no line number information.
0xd37b2244 in _tt_internal_realpath () from /usr/lib/libtt.a(shr.o)
(gdb) where
#0  0xd37b2244 in _tt_internal_realpath () from /usr/lib/libtt.a(shr.o)
#1  0xaabbccdd in ?? ()
(gdb)


A proof of concept code for this vulnerability can be downloaded from our
website at http://risesecurity.org/.

VENDOR

IBM has released advisory and fixes for this vulnerability:
http://aix.software.ibm.com/aix/efixes/security/libtt_advisory.asc
http://aix.software.ibm.com/aix/efixes/security/libtt_fix.tar

CREDITS

This vulnerability was discovered by Adriano Lima <adriano@risesecurity.org> and
Ramon de Carvalho Valle <ramon@risesecurity.org>.

DISCLAIMER

The authors reserve the right not to be responsible for the topicality,
correctness, completeness or quality of the information provided in this
document. Liability claims regarding damage caused by the use of any information
provided, including any kind of information which is incomplete or incorrect,
will therefore be rejected.


 
[推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论:
  热点文章
·XSOK环境变量本地命令执行漏洞
·N点虚拟主机管理系统 致命漏洞。
·南方数据企业网站管理系统V10.0
·动网(DVBBS)Version 8.2.0 后
·Solaris 10 telnet漏洞及解决
·破解无线路由器密码,常见无线密
·Nginx %00空字节执行php漏洞
·WinWebMail、7I24提权漏洞
·XPCD xpcd-svga本地缓冲区溢出漏
·Struts2多个漏洞简要分析
·ecshop2.72 api.php 文件鸡肋注
·Discuz!后台拿Webshell 0day
  相关文章
·安全模式下exec等函数安全隐患
·Php168的一个本地文件包含漏洞
·QQmail Multiple Xss Vulnerabil
·乘风多用户PHP统计系统 v4.0 注
·老Y文章管理系统注射0day
·FF3的《moz-binding: url》未限
·第一回:DOM沙盒 vs 跨網站腳本
·DirectShow 0DAY第二波警告
·黑洞的ASP上线系统的一个漏洞
·Sun One WebServer 6.1 JSP Sour
·Joomla! HTTP头跨站脚本执行漏洞
·风讯 4.0 SP7 getshell 0day
  推荐广告
CopyRight © 2002-2022 VFocuS.Net All Rights Reserved