手机
当前位置:查字典教程网 >网络安全 >漏洞分析 >Firebird protocol.cppXDR协议远程内存破坏漏洞
Firebird protocol.cppXDR协议远程内存破坏漏洞
摘要:受影响系统:FirebirdFirebirdSQL2.1.0Beta2FirebirdFirebirdSQL2.0.3FirebirdFir...

受影响系统:

Firebird Firebird SQL 2.1.0 Beta 2

Firebird Firebird SQL 2.0.3

Firebird Firebird SQL 1.5.5

Firebird Firebird SQL 1.0.3 不受影响系统:

Firebird Firebird SQL 2.1.0 RC1

Firebird Firebird SQL 2.0.4

Firebird Firebird SQL 1.5.6 描述:

Firebird是一款提供多个ANSI SQL-92功能的关系型数据库,可运行在Linux、Windows和各种Unix平台下。 Firebird在处理畸形格式的数据时存在漏洞,远程攻击者可能利用此漏洞导致拒绝服务。 如果Firebird的协议解析器(src/remote/protocol.cpp)接受到了任何带有有效数据的以下操作的时候: op_receive

op_start

op_start_and_receive

op_send

op_start_and_send

op_start_send_and_receive 解析器在使用某些变量之前没有执行正确的过滤,在src/remote/protocol.cpp文件中未经验证便直接将以下报文缓冲区分配给了数据结构(MAP宏没有任何范围检查): src/remote/protocol.cpp:417 MAP(xdr_short, reinterpret_cast<SSHORT&>(data->p_data_request));

MAP(xdr_short, reinterpret_cast<SSHORT&>(data->p_data_incarnation));

MAP(xdr_short, reinterpret_cast<SSHORT&>(data->p_data_transaction));

MAP(xdr_short, reinterpret_cast<SSHORT&>(data->p_data_message_number));

/* Changes to this op's protocol must mirror in xdr_protocol_overhead */

return xdr_request(xdrs, data->p_data_request,

data->p_data_message_number,

data->p_data_incarnation) ? P_TRUE(xdrs, p) : P_FALSE(xdrs, p); 然后在xdr_request()函数中,使用data->p_data_request变量(request_id)作为数组的索引: ...

rrq* request = (rrq*) port->port_objects[request_id];

... 这会触发内存结构破坏,导致服务器崩溃或执行任意代码。data->p_data_message_number变量也存在类似的问题。 厂商补丁:

目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载: http://firebirdsql.org/index.php?op=files&id=fb210_RC1

【Firebird protocol.cppXDR协议远程内存破坏漏洞】相关文章:

Gnumeric XLS HLINK Opcode处理远程代码执行漏洞

Microsoft SharePoint Server跨站脚本漏洞

Firebird protocol.cpp XDR协议远程内存破坏漏洞

X.Org 存在X字体服务器多个内存破坏漏洞

Outlook Express协议回应数据堆溢出漏洞

Symark PowerBroker 客户端多个本地命令溢出漏洞

Persits Software XUpload.ocx 含远程栈溢出漏洞

WordPress AdServe的adclick.ph 远程SQL注入漏洞

WordPress WassUp插件 spy.php脚本含SQL注入漏洞

Cisco 操作系统IOS存在DLSw拒绝服务漏洞

精品推荐
分类导航