Common Desktop Environment (CDE)是一款集成图形用户接口,运行在各种UNIX和LINUX操作系统下,CDE ToolTalk服务允许独立的开发应用程序,使应用程序可以跨主机和平台交换ToolTalk信息相互之间通信,使用ToolTalk服务,应用程序可以建立开放协议允许各种程序进行交换和新的程序插入到系统中可以尽可能最小化重新配置。ToolTalk RPC数据库服务程序,rpc.ttdbserverd用于管理ToolTalk应用通信。 ToolTalk客户端可以通过提送RPC请求给数据库服务程序来关闭某一ToolTalk数据库,在这个过程中,会调用_TT_ISCLOSE()过程,_TT_ISCLOSE() RPC接收来自客户端用于引用包含请求ToolTalk数据信息的内存结构作为文件描述符参数,结构中的内存位置设置为0(0L)表示关闭请求的数据库。ToolTalk在调用这个过程的时候没有检查文件描述符的范围,因此可能引用其他指向包含合法数据库信息的文件描述符作为参数传递,导致恶意的RPC调用使ToolTalk数据库服务进程空间中的指定内存位置被设置为0。 攻击者可以结合其他方法利用这个漏洞远程删除任意文件和远程建立任意目录,或者对ToolTalk数据库服务进行拒绝服务攻击。 必须注意的时这个RPC请求需要客户端提供AUTH_UNIX认证信息,不过AUTH_UNIX认证可以很容易的被攻击者伪造通过。
Common Desktop Environment (CDE)是一款集成图形用户接口,运行在各种UNIX和LINUX操作系统下,CDE ToolTalk服务允许独立的开发应用程序,使应用程序可以跨主机和平台交换ToolTalk信息相互之间通信,使用ToolTalk服务,应用程序可以建立开放协议允许各种程序进行交换和新的程序插入到系统中可以尽可能最小化重新配置。ToolTalk RPC数据库服务程序,rpc.ttdbserverd用于管理ToolTalk应用通信。 ToolTalk客户端可以通过提送RPC请求给数据库服务程序来关闭某一ToolTalk数据库,在这个过程中,会调用_TT_ISCLOSE()过程,_TT_ISCLOSE() RPC接收来自客户端用于引用包含请求ToolTalk数据信息的内存结构作为文件描述符参数,结构中的内存位置设置为0(0L)表示关闭请求的数据库。ToolTalk在调用这个过程的时候没有检查文件描述符的范围,因此可能引用其他指向包含合法数据库信息的文件描述符作为参数传递,导致恶意的RPC调用使ToolTalk数据库服务进程空间中的指定内存位置被设置为0。 攻击者可以结合其他方法利用这个漏洞远程删除任意文件和远程建立任意目录,或者对ToolTalk数据库服务进行拒绝服务攻击。 必须注意的时这个RPC请求需要客户端提供AUTH_UNIX认证信息,不过AUTH_UNIX认证可以很容易的被攻击者伪造通过。