Firebird SQL fbserver connect请求远程缓冲区溢出漏洞 CVE-2007-3181 CNNVD-200706-202 CNVD-2007-3847

10.0 AV AC AU C I A
发布: 2007-06-12
修订: 2017-07-29

Firebird SQL是Firebird基金会的一套开源跨平台的提供多个ANSI SQL-92功能的SQL数据库管理系统。 Firebird SQL数据库默认监听于TCP 3050端口的数据库服务fbserver.exe中存在缓冲区溢出漏洞,远程攻击者可能利用此漏洞控制服务器。 该服务在处理connect请求(0x1)时以如下方式拆分: typedef struct p_cnct { P_OP p_cnct_operation; /* OP_CREATE or OP_OPEN */ USHORT p_cnct_cversion; /* Version of connect protocol */ P_ARCH p_cnct_client; /* Architecture of client */ CSTRING p_cnct_file; /* File name */ USHORT p_cnct_count; /* Protocol versions understood */ CSTRING p_cnct_user_id; /* User identification stuff */ struct p_cnct_repeat { USHORT p_cnct_version; /* Protocol version number */ P_ARCH p_cnct_architecture; /* Architecture of client */ USHORT p_cnct_min_type; /* Minimum type */ USHORT p_cnct_max_type; /* Maximum type */ USHORT p_cnct_weight; /* Preference weight */ } p_cnct_versions[10]; } P_CNCT; 如果为p_cnct_count指定了超大值的话,就会在报文的XDR处理中出现未经检查的循环,导致覆盖本地rem_port结构及其vtable。具体来说,在XDR处理的下一次迭代中会调用rem_port->receive函数指针。有漏洞的代码如下: protocol.cpp:318 for (i = 0, tail = connect->p_cnct_versions; i <...

当前有4条漏洞利用/PoC
当前有2条受影响产品信息