PCRE compile workspace overflow

2010-05-11T00:00:00
ID SECURITYVULNS:DOC:23814
Type securityvulns
Reporter Securityvulns
Modified 2010-05-11T00:00:00

Description

In versions of the PCRE regular expression library before 8.02, compiling a very large regular expression will overflow the workspace buffer.

Although the code checks for the size of the compiled regular expression, the check only returns true after the end of the buffer has been overrun. The bug was fixed in PCRE 8.02 with this patch:

http://vcs.pcre.org/viewvc/code/trunk/pcre_compile.c?r1=504&r2=505&view=patch

This example will cause a 2 byte overflow:

~$ perl -e 'print "/","("x819, ")"x819, "/"' | pcretest

Original Bug Report:

http://bugs.exim.org/show_bug.cgi?id=962