Bug 1311503 (CVE-2016-3191) - CVE-2016-3191 pcre: workspace overflow for (*ACCEPT) with deeply nested parentheses (8.39/13, 10.22/12)
Summary: CVE-2016-3191 pcre: workspace overflow for (*ACCEPT) with deeply nested paren...
Keywords:
Status: CLOSED ERRATA
Alias: CVE-2016-3191
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
high
high
Target Milestone: ---
Assignee: Red Hat Product Security
QA Contact:
URL:
Whiteboard:
Depends On: 1330490 1330491 1330494 1330508 1330509
Blocks: 1295388
TreeView+ depends on / blocked
 
Reported: 2016-02-24 11:42 UTC by Tomas Hoger
Modified: 2023-05-18 15:30 UTC (History)
37 users (show)

Fixed In Version: pcre 8.39, pcre2 10.22
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-11-23 14:02:12 UTC
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2016:1025 0 normal SHIPPED_LIVE Important: pcre security update 2016-05-11 17:07:01 UTC
Red Hat Product Errata RHSA-2016:1132 0 normal SHIPPED_LIVE Important: rh-mariadb100-mariadb security update 2016-05-26 12:35:06 UTC

Description Tomas Hoger 2016-02-24 11:42:04 UTC
ZDI reported a stack-based buffer overflow in pcre and pcre2.  ZDI-CAN-3542 id is used to identify the issue.

https://bugs.exim.org/show_bug.cgi?id=1791

  PCRE does not validate that handling the (*ACCEPT) verb will occur within
  the bounds of the cworkspace stack buffer, leading to a stack buffer overflow.

Fixed upstream in pcre and pcre2 via the following commits:

http://vcs.pcre.org/pcre?view=revision&revision=1631
http://vcs.pcre.org/pcre2?view=revision&revision=489

Issue is triggered by the following pattern:

/([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)/

PCRE 8.00 seems to be the first affected version.

Comment 1 Tomas Hoger 2016-02-24 12:06:41 UTC
The above fix was already applied to Fedora pcre and pcre2 packages.

Comment 2 Andrej Nemec 2016-03-18 10:27:24 UTC
CVE assigned by Mitre today, via CVENEW.

Comment 6 errata-xmlrpc 2016-05-11 13:08:20 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 7

Via RHSA-2016:1025 https://rhn.redhat.com/errata/RHSA-2016-1025.html

Comment 7 errata-xmlrpc 2016-05-26 08:36:55 UTC
This issue has been addressed in the following products:

  Red Hat Software Collections for Red Hat Enterprise Linux 7.1 EUS
  Red Hat Software Collections for Red Hat Enterprise Linux 7.2 EUS
  Red Hat Software Collections for Red Hat Enterprise Linux 7
  Red Hat Software Collections for Red Hat Enterprise Linux 6.6 EUS
  Red Hat Software Collections for Red Hat Enterprise Linux 6
  Red Hat Software Collections for Red Hat Enterprise Linux 6.7 EUS

Via RHSA-2016:1132 https://access.redhat.com/errata/RHSA-2016:1132


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