Firebird SQL op_connect_request请求远程拒绝服务漏洞 CVE-2009-2620 CNNVD-200907-417

5.0 AV AC AU C I A
发布: 2009-07-29
修订: 2017-09-19

Firebird是一款提供多个ANSI SQL-92功能的关系型数据库,可运行在Linux、Windows和各种Unix平台下 。 在Firebird的src/remote/server.cpp文件中,process_packet2()函数负责处理从客户端发送过来的报文。这个函数有一个switch语句考虑协议中所定义的所有可能的opcode 。 /----------- src/remote/server.cpp: ... 3404P_OP op = receive->p_operation; 3405switch (op) 3406{ 3407case op_connect: ... 3426case op_compile: ... 3430case op_attach: ... - -----------/ 在op_connect_request报文的情况下,执行流进入switch语句的以下case: /----------- src/remote/server.cpp: ... 3584case op_connect_request: 3585aux_request(port, &receive->p_req, sendL); 3586break; - -----------/ 在调用aux_request()函数并执行break语句后,执行流到达: /----------- src/remote/server.cpp: ... 3652if (port && port->port_state == state_broken) { 3653if (!port->port_parent) { 3654gds__log(\"SERVER/process_packet: broken port, server exiting\"); 3655port->disconnect(sendL, receive); 3656ThreadData::restoreSpecific(); 3657return false; 3658} 3659port->disconnect(sendL, receive); 3660port = NULL; 3661} - -----------/...

0%
当前有3条漏洞利用/PoC
当前有17条受影响产品信息