Bug 1287659 - (CVE-2015-8389) CVE-2015-8389 pcre: infinite recursion in JIT compiler when processing certain patterns (8.38/21)
CVE-2015-8389 pcre: infinite recursion in JIT compiler when processing certai...
Status: CLOSED NOTABUG
Product: Security Response
Classification: Other
Component: vulnerability (Show other bugs)
unspecified
All Linux
medium Severity medium
: ---
: ---
Assigned To: Red Hat Product Security
impact=moderate,public=20151123,repor...
: Security
Depends On: 1287660 1287661 1287662 1287663
Blocks: 1287727
  Show dependency treegraph
 
Reported: 2015-12-02 08:37 EST by Adam Mariš
Modified: 2016-04-26 10:39 EDT (History)
16 users (show)

See Also:
Fixed In Version: pcre 8.38
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2016-02-23 17:25:06 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Adam Mariš 2015-12-02 08:37:36 EST
It was found that PCRE before 8.38 mishandles the /(?:|a|){100}x/ pattern and related
patterns, causing infinite recursion in the JIT compiler and allowing remote attackers to cause a denial of service (infinite recursion) or possibly have unspecified other impact via a crafted regular expression.
Comment 1 Adam Mariš 2015-12-02 08:38:32 EST
Created pcre tracking bugs for this issue:

Affects: fedora-all [bug 1287660]
Comment 2 Adam Mariš 2015-12-02 08:38:42 EST
Created glib2 tracking bugs for this issue:

Affects: fedora-all [bug 1287662]
Comment 3 Adam Mariš 2015-12-02 08:38:52 EST
Created mingw-pcre tracking bugs for this issue:

Affects: fedora-all [bug 1287661]
Affects: epel-7 [bug 1287663]
Comment 4 Adam Mariš 2015-12-02 10:24:00 EST
Corresponds to item 21 in http://vcs.pcre.org/pcre/code/trunk/ChangeLog?view=markup
Comment 5 Petr Pisar 2015-12-02 11:02:41 EST
Fixed in upstream with:

commit 32c5e4cd1777e53d0da4e5e7bbd227725d12fc14
Author: zherczeg <zherczeg@2f5784b3-3f2a-0410-8824-cb99058d5e15>
Date:   Mon Jul 20 07:53:12 2015 +0000

    Fix infinite recursion in the JIT compiler when certain patterns when certai
n patterns are analysed.
    
    git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1577 2f5784b3-3f2a-0410-8824-
cb99058d5e15
Comment 6 Petr Pisar 2015-12-03 09:16:23 EST
Reproducer is to pass /(?:|a|){100}x/S++ expression to pcretest.
Comment 7 Fedora Update System 2016-01-04 14:54:31 EST
pcre-8.38-1.fc22 has been pushed to the Fedora 22 stable repository. If problems still persist, please make note of it in this bug report.
Comment 8 Tomas Hoger 2016-02-23 17:25:06 EST
(In reply to Petr Pisar from comment #5)
> commit 32c5e4cd1777e53d0da4e5e7bbd227725d12fc14
> Author: zherczeg <zherczeg@2f5784b3-3f2a-0410-8824-cb99058d5e15>
> Date:   Mon Jul 20 07:53:12 2015 +0000
> 
> Fix infinite recursion in the JIT compiler when certain patterns when
> certain patterns are analysed.

Upstream commit link:

http://vcs.pcre.org/pcre?view=revision&revision=1577

This problem was introduced in version 8.35.  While PHP and MariaDB versions embed recent PCRE versions, they do not enable JIT and hence are not affected.

Note You need to log in before you can comment on or make changes to this bug.