Date: Tue, 26 Mar 2002 18:00:56 +0900 (JST) From: Isao SEKI <iseki@gongon.com> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/36326: quick patch for qpopper4.0.3_1 buffer overflow Message-ID: <200203260900.g2Q90uEp056920@gongon1.gongon.com>
next in thread | raw e-mail | index | archive | help
>Number: 36326 >Category: ports >Synopsis: quick patch for qpopper4.0.3_1 buffer overflow >Confidential: no >Severity: critical >Priority: high >Responsible: freebsd-ports >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Tue Mar 26 01:10:00 PST 2002 >Closed-Date: >Last-Modified: >Originator: Isao SEKI >Release: FreeBSD 4.5-RELEASE i386 >Organization: personal >Environment: System: FreeBSD gongon1.gongon.com 4.5-RELEASE FreeBSD 4.5-RELEASE #1: Thu Jan 31 18:40:00 JST 2002 iseki@gongon6.gongon.com:/usr/src/sys/compile/GONGON_NOSTUN i386 >Description: If a string of longer than approximately 2048 characters is sent to the qpopper process, a denial of service condition will occur. >How-To-Repeat: Please see at the Description. >Fix: I have made a quick patch for qpopper4.0.3. *** popper.c.dist Sat Jun 2 11:24:36 2001 --- popper.c Tue Mar 26 16:24:30 2002 *************** *** 483,489 **** --- 483,501 ---- else len = read ( pPOP->input_fd, junk, sizeof(junk) ); if ( len <= 0 ) + #if 0 break; + #else + { + /* + * patch by Isao SEKI <iseki@gongon.com> + * return 0 is meaningless after buffer overflow + */ + pop_log (pPOP, POP_NOTICE, HERE, + "read 0 byte after buffer overflow\n"); + return(NULL); + } + #endif q = strchr ( junk, '\n' ); if ( q == NULL ) { disc += len; >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ports" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200203260900.g2Q90uEp056920>