Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 25 May 2000 02:00:34 +0400 (MSD)
From:      Dmitry Valdov <dv@dv.ru>
To:        Jeremy Shaffner <jer@jorsm.com>
Cc:        freebsd-security@FreeBSD.ORG
Subject:   Re: QPOPPER: Remote gid mail exploit
Message-ID:  <Pine.BSF.3.95q.1000525015811.4888A-100000@xkis.kis.ru>
In-Reply-To: <Pine.BSF.4.21.0005241649220.7700-100000@mercury.jorsm.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi!

oops, sorry. My fault. I've inserted "%s" before PO_SUCCESS, not before
"buffer". 
Sorry again.

Dmitry.


On Wed, 24 May 2000, Jeremy Shaffner wrote:

> Date: Wed, 24 May 2000 16:52:01 -0500 (CDT)
> From: Jeremy Shaffner <jer@jorsm.com>
> To: Dmitry Valdov <dv@dv.ru>
> Cc: freebsd-security@FreeBSD.ORG
> Subject: Re: QPOPPER: Remote gid mail exploit
> 
> 
> I don't see that happening here:
> 
> uidl 2
> +OK 2 AAAAAAAAAAAAAA
> euidl 2
> +OK 2 AAAAAAAAAAAAAA 481 %p%p%p%p%p%p%p%p@foo.domain.com
> 
> Without the patch you get the behavior described in the advisory:
> 
> +OK 2 AAAAAAAAAAAAAA 470
> 0xbfbfd0340x804fd640xbfbfd0340x1d60x8052e4e0xbfbfd86c0x
> 80570280x5@foo.domain.com
> 
> 
> -Jeremy
> 
> On Thu, 25 May 2000, Dmitry Valdov wrote:
> 
> > Hi!
> > 
> > This patch doesn't work. popper exiting with sig11 when user send UIDL xxx
> > command.
> > 
> > Dmitry.
> > 
> > 
> > > 	Or you can manually patch it by doing the following: 
> > > 
> > > 	  At lines 152 and 62 from pop_uidl.c, replace:
> > > 	- return (pop_msg (p,POP_SUCCESS, buffer));
> > > 	  to:
> > > 	+ return (pop_msg (p,POP_SUCCESS, "%s", buffer));
> > > 
> > > 
> > > Here is the resulting patch:
> > > 
> > > 
> > > ---------8<--------
> > > 
> > > --- pop_uidl.c.orig     Wed May 24 15:58:53 2000
> > > +++ pop_uidl.c  Wed May 24 16:21:56 2000
> > > @@ -59,7 +59,7 @@
> > >  
> > >         sprintf(buffer, "%d %s", msg_id, mp->uidl_str);
> > >          if (nl = index(buffer, NEWLINE)) *nl = 0;
> > > -       return (pop_msg (p,POP_SUCCESS, buffer));
> > > +       return (pop_msg (p,POP_SUCCESS, "%s", buffer));
> > >        }
> > >      } else {
> > >         /* yes, we can do this */
> > > @@ -149,7 +149,7 @@
> > >         sprintf(buffer, "%d %s", msg_id, mp->uidl_str);
> > >          if (nl = index(buffer, NEWLINE)) *nl = 0;
> > >         sprintf(buffer, "%s %d %.128s", buffer, mp->length, from_hdr(p,
> > > mp));
> > > -       return (pop_msg (p,POP_SUCCESS, buffer));
> > > +       return (pop_msg (p,POP_SUCCESS, "%s", buffer));
> > >        }
> > >      } else {
> > >         /* yes, we can do this */
> > > 
> > > ------->8---------- 
> > > 
> 
> 
> ---
> Jeremy Shaffner
> System Administrator
> JORSM Internet
> jer@jorsm.com
> http://www.jorsm.com/~jer/pgp.key
> 
> 



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-security" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.95q.1000525015811.4888A-100000>