Firebird中op_connect_request请求 远程拒绝漏洞

来源:岁月联盟 编辑:zhuzhu 时间:2009-08-03
Firebird中op_connect_request请求 远程拒绝漏洞 受影响系统:
Firebird Firebird SQL v2.5.0 Beta 1
Firebird Firebird SQL v2.1.3 RC1
Firebird Firebird SQL v2.1.2
Firebird Firebird SQL v2.1.1
Firebird Firebird SQL v2.0.5
Firebird Firebird SQL v2.0.1
Firebird Firebird SQL v1.5.5

 

描述:
Firebird是一款提供多个ANSI SQL-92功能的关系型数据库,可运行在Linux、Windows和各种Unix平台下。
在Firebird的src/remote/server.cpp文件中,process_packet2()函数负责处理从客户端发送过来的报文。这个函数有一个switch语句考虑协议中所定义的所有可能的opcode。

在执行对disconnect()的递归调用时,作为将要断开参数传送的port->port_async对应到主服务器套接字,也就是在3050/TCP端口上监听入站连接的套接字。一旦在递归调用中调用了shutdown()和closesocket()函数,服务器就会停止监听默认的3050/TCP端口,拒绝对合法用户的服务。

厂商补丁:

目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
http://tracker.firebirdsql.org/browse/CORE-2563