Firebird protocol.cpp XDR协议远程内存破坏漏洞
所属分类:
网络安全 / 漏洞分析
阅读数:
74
收藏 0赞 0分享
受影响系统:
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 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
.Net开发人员常犯的6大安全错误
微软已经为.Net环境添加了大量的功能,帮助开发人员创建安全的应用程序,例如,身份验证已经成为开发环境集成的一个功能,另外,默认情况下调试消息被禁用掉了。微软对安全的关注程度极大地影响了开发人员,促使他们在软件开发过程中重新评估纳入安全保障的重要性。
收藏 0赞 0分享
科汛 KesionCMS 文件名解析漏洞
科汛cms,eshop系统建站第一品牌.专业提供开源cms项目定制服务及名片系统,在线输出,在线印刷,广告制作,在线图文下单系统提供商。
收藏 0赞 0分享
科讯 kesioncms 5.5以下漏洞拿shell方法原理总结(图文)
科讯做为一个强大的cms程序大多被政府和教育机构网站所使用,关于科讯的漏洞利用教程网上不是很多。由于科讯的后台登陆需要输入认证码,而认证码没有保存在数据库而是保存在asp文件中,所以在某种程度上增大了拿shell 的难度。下面就个版本拿shell 的方法做一总结。
收藏 0赞 0分享
织梦网官方(dedecms)爆路径最新漏洞
首发:红科网安 作者:Amxking 漏洞程序:dedecms5.5 测试对象:织梦网CMS官方网站 提交时间:2010-03-17 漏洞类型:信息泄露 危险等级:低 漏洞描述: dedecms 5.5程序泄露网站路径信息。 测试地址:
收藏 0赞 0分享
ewebeditor通杀鸡肋0day漏洞
先访问这个地址
Editor/asp/upload.asp?action=save&type=image&style=popup&cusdir=a.asp
访问这个地址可以建立个A.ASP的文件夹……
再用这个html代码
收藏 0赞 0分享
PHP漏洞全解
PHP网页的安全性问题,针对PHP的网站主要存在下面几种攻击方式
收藏 0赞 0分享
ecshop爆绝对路径的bug
ecshop爆绝对路径的bug 网址如下" http://www.zzfhw.com/ECShop/includes/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/s
收藏 0赞 0分享
dedecms织梦 v5.5 两处跨站漏洞
影响版本: dedecms织梦5.5 漏洞描述: demo1:http://www.dedecms.com/plus/search.php?keyword=%22>&searchtype=titlekeyword&channeltype=0&
收藏 0赞 0分享
dedecms 5.6的最新注入漏洞
最新dedecms 5.6的注入代码:
http://www.dedecms.com/plus/rss.php?tid=1&_Cs[][1]=1&_Cs[2%29%29%20AND%20%22%27%22%20AND%20updatexml%281,%28
收藏 0赞 0分享
查看更多