CVE:CVE-2004-2003
CNNVD:CNNVD-200405-047
DeleGate是一款多功能应用级网关，运行在多个平台上。
DeleGate SSLway过滤器在处理用户提供的部分证书字段内容时缺少充分边界检查，远程攻击者可以利用这个漏洞对网关程序进行缓冲区溢出攻击，可能以进程权限在系统上执行任意指令。
当DeleGate SSLway过滤器使用时处理客户或服务端连接时存在漏洞，使用标题或发送者名字字段内容超过256字节的证书，可触发缓冲区溢出:
   static ssl_prcert(ssl，show，outssl，outfd，what)
            SSL *ssl;
            char *what;
    {       X509 *peer;
            char subjb[256]，*sb，issrb[256]，*is;
            char *dp，ident[256];
            ident[0] = 0;
            if( peer = SSL_get_peer_certificate(ssl) ){
                    sb = X509_NAME_oneline(X509_get_subject_name(peer)，subjb，1024);
                    is = X509_NAME_oneline(X509_get_issuer_name(peer)，issrb，1024);
X509_NAME_oneline()的第二个参数是要写入的缓冲区，第三个参数是缓冲区大小，上面缓冲区大小定义为1024字节，而缓冲区实际只有256字节，因此过多的数据可覆盖ssl_prcert()的返回地址。
solution:Upgrade delegate delegate to a higher version than 7.7.0,7.7.1,7.8.0,7.8.1,7.8.2,7.9.11,8.3.3,8.3.4,8.4.0,8.5.0,8.9,8.9.1,8.9.2,and avoid the version 7.7.0,7.7.1,7.8.0,7.8.1,7.8.2,7.9.11,8.3.3,8.3.4,8.4.0,8.5.0,8.9,8.9.1,8.9.2