Skip site navigation (1)Skip section navigation (2)
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>