Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20140904033953.GA18643@brightrain.aerifal.cx>
Date: Wed, 3 Sep 2014 23:39:53 -0400
From: Rich Felker <dalias@...c.org>
To: oss-security@...ts.openwall.com
Subject: Re: heap overflow in procmail

On Wed, Sep 03, 2014 at 11:52:11AM -0700, Tavis Ormandy wrote:
> I noticed a heap overflow in procmail when parsing addresses with
> unbalanced quotes. I encountered this by accident when trying to
> organize a large usenet archive, this post to rec.arts.poems causes
> formail to crash.
> 
> https://groups.google.com/forum/message/raw?msg=alt.arts.poetry.comments/DCuLO3qzovI/CZk15MlfqNkJ
> 
> I've attached an mbox for reference.
> 
> $ formail -s < mbox > /dev/null
> *** Error in `formail': free(): invalid next size (fast): 0x00007f103784a080 ***
> Segmentation fault (core dumped)
> $ rpm -q procmail
> procmail-3.22-33.fc20.x86_64
> 
> 
> It looks like the fix is
> 
> --- formisc.c 2013-08-04 00:13:33.000000000 -0700
> +++ formisc.c 2014-09-03 11:42:25.986002396 -0700
> @@ -84,12 +84,11 @@
>   case '"':*target++=delim='"';start++;
>        }
>       ;{ int i;
> - do
> + while(*start)
>     if((i= *target++= *start++)==delim) /* corresponding delimiter? */
>        break;
>     else if(i=='\\'&&*start)    /* skip quoted character */
>        *target++= *start++;
> - while(*start); /* anything? */
>        }
>       hitspc=2;
>     }

Unless I'm misunderstanding your report, the problem is in the formail
utility which comes with procmail, not procmail itself. This should be
clarified in the title of the vuln, perhaps as "heap overflow in
procmail's formail utility" rather than "heap overflow in procmail".

Rich

Powered by blists - more mailing lists

Please check out the Open Source Software Security Wiki, which is counterpart to this mailing list.

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.