CVE-2016-3191 json
The compile_branch function in pcre_compile.c in PCRE 8.x before 8.39 and pcre2_compile.c in PCRE2 before 10.22 mishandles patterns contain…
published 2016-03-17 10 y ago modified 2026-06-17 4 mo ago also EUVD-2016-4232
- cvss
- 9.8
- version 3.0, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 8.4%
- EPSS 8.4% chance of exploitation in 30 days, percentile 95%
- public exploits
- 0
- none known
Summary
The compile_branch function in pcre_compile.c in PCRE 8.x before 8.39 and pcre2_compile.c in PCRE2 before 10.22 mishandles patterns containing an (*ACCEPT) substring in conjunction with nested parentheses, which allows remote attackers to execute arbitrary code or cause a denial of service (stack-based buffer overflow) via a crafted regular expression, as demonstrated by a JavaScript RegExp object encountered by Konqueror, aka ZDI-CAN-3542.
Patch / fix
- pcre2 Debian 14, Debian 13, Debian 12 10.21-1
- pcre3 Debian 12 2:8.38-2
debian advisories DEBIAN-CVE-2016-3191
- pcre3 Ubuntu 14.04 LTS 1:8.31-2ubuntu2.2
ubuntu advisories UBUNTU-CVE-2016-3191
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- rh-mariadb100-mariadb RHEL 2 SOFTWARE_COLLECTIONS 1:10.0.25-4.el6
- rh-mariadb100-mariadb RHEL 2 SOFTWARE_COLLECTIONS 1:10.0.25-4.el7
- rh-mariadb100-mariadb-test RHEL 2 SOFTWARE_COLLECTIONS 1:10.0.25-4.el6
- rh-mariadb100-mariadb-test RHEL 2 SOFTWARE_COLLECTIONS 1:10.0.25-4.el7
- rh-mariadb100-mariadb-bench RHEL 2 SOFTWARE_COLLECTIONS 1:10.0.25-4.el6
- rh-mariadb100-mariadb-bench RHEL 2 SOFTWARE_COLLECTIONS 1:10.0.25-4.el7
- rh-mariadb100-mariadb-common RHEL 2 SOFTWARE_COLLECTIONS 1:10.0.25-4.el6
- rh-mariadb100-mariadb-common RHEL 2 SOFTWARE_COLLECTIONS 1:10.0.25-4.el7
red hat advisories RHSA-2016:1132RHSA-2016:1025
- pcre SLES for SAP 12 SP2, SLES for SAP 12 SP1, SLES for SAP 12 +12 more 8.39-7.1
- pcre SLES for SAP 12 SP2, SLES for SAP 12 SP1, SLES for Raspberry Pi 12 SP2 +10 more 8.39-5.1
suse advisories SUSE-SU-2016:3161-1SUSE-SU-2016:2971-1
- pcre Alpine 3.4 8.38-r1
alpine advisories ALPINE-CVE-2016-3191
Alpine secdb © Alpine Linux, from https://secdb.alpinelinux.org via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2016-3191 updated cvss 6.8
pcre: workspace overflow for (*ACCEPT) with deeply nested parentheses (8.39/13, 10.22/12)
-
Red Hat JBoss Enterprise Web Server 3 pcre Red Hat Software Collections php54-php, php55-php, php54-php-gd, php55-php-gd, rh-php56-php, rh-php70-php, +102 moreaffected: no fix planned “Will not fix”
-
Red Hat Enterprise Linux Client (v. 7) pcre 8.32-15.el7_2.1 Red Hat Enterprise Linux Client Optional (v. 7) pcre-tools 8.32-15.el7_2.1 Red Hat Enterprise Linux ComputeNode (v. 7) pcre 8.32-15.el7_2.1 Red Hat Enterprise Linux ComputeNode Optional (v. 7) pcre-tools 8.32-15.el7_2.1 Red Hat Enterprise Linux Server (v. 7) pcre 8.32-15.el7_2.1 Red Hat Enterprise Linux Server Optional (v. 7) pcre-tools 8.32-15.el7_2.1fixed: vendor fix RHSA-2016:1025
+2 more productsfewer
Red Hat Enterprise Linux Workstation (v. 7) pcre 8.32-15.el7_2.1 Red Hat Enterprise Linux Workstation Optional (v. 7) pcre-tools 8.32-15.el7_2.1 -
Red Hat Software Collections for Red Hat Enterprise Linux Server (v. 6) rh-mariadb100-mariadb 10.0.25-4.el6, rh-mariadb100-mariadb-test 10.0.25-4.el6, rh-mariadb100-mariadb-bench 10.0.25-4.el6, rh-mariadb100-mariadb-common 10.0.25-4.el6, rh-mariadb100-mariadb-config 10.0.25-4.el6, rh-mariadb100-mariadb-errmsg 10.0.25-4.el6, +2 more Red Hat Software Collections for Red Hat Enterprise Linux Server (v. 7) rh-mariadb100-mariadb 10.0.25-4.el7, rh-mariadb100-mariadb-test 10.0.25-4.el7, rh-mariadb100-mariadb-bench 10.0.25-4.el7, rh-mariadb100-mariadb-common 10.0.25-4.el7, rh-mariadb100-mariadb-config 10.0.25-4.el7, rh-mariadb100-mariadb-errmsg 10.0.25-4.el7, +2 more Red Hat Software Collections for Red Hat Enterprise Linux Server EUS (v. 6.6) rh-mariadb100-mariadb 10.0.25-4.el6, rh-mariadb100-mariadb-test 10.0.25-4.el6, rh-mariadb100-mariadb-bench 10.0.25-4.el6, rh-mariadb100-mariadb-common 10.0.25-4.el6, rh-mariadb100-mariadb-config 10.0.25-4.el6, rh-mariadb100-mariadb-errmsg 10.0.25-4.el6, +2 more Red Hat Software Collections for Red Hat Enterprise Linux Server EUS (v. 6.7) rh-mariadb100-mariadb 10.0.25-4.el6, rh-mariadb100-mariadb-test 10.0.25-4.el6, rh-mariadb100-mariadb-bench 10.0.25-4.el6, rh-mariadb100-mariadb-common 10.0.25-4.el6, rh-mariadb100-mariadb-config 10.0.25-4.el6, rh-mariadb100-mariadb-errmsg 10.0.25-4.el6, +2 more Red Hat Software Collections for Red Hat Enterprise Linux Server EUS (v. 7.1) rh-mariadb100-mariadb 10.0.25-4.el7, rh-mariadb100-mariadb-test 10.0.25-4.el7, rh-mariadb100-mariadb-bench 10.0.25-4.el7, rh-mariadb100-mariadb-common 10.0.25-4.el7, rh-mariadb100-mariadb-config 10.0.25-4.el7, rh-mariadb100-mariadb-errmsg 10.0.25-4.el7, +2 more Red Hat Software Collections for Red Hat Enterprise Linux Server EUS (v. 7.2) rh-mariadb100-mariadb 10.0.25-4.el7, rh-mariadb100-mariadb-test 10.0.25-4.el7, rh-mariadb100-mariadb-bench 10.0.25-4.el7, rh-mariadb100-mariadb-common 10.0.25-4.el7, rh-mariadb100-mariadb-config 10.0.25-4.el7, rh-mariadb100-mariadb-errmsg 10.0.25-4.el7, +2 morefixed: vendor fix RHSA-2016:1132
+2 more productsfewer
Red Hat Software Collections for Red Hat Enterprise Linux Workstation (v. 6) rh-mariadb100-mariadb 10.0.25-4.el6, rh-mariadb100-mariadb-test 10.0.25-4.el6, rh-mariadb100-mariadb-bench 10.0.25-4.el6, rh-mariadb100-mariadb-common 10.0.25-4.el6, rh-mariadb100-mariadb-config 10.0.25-4.el6, rh-mariadb100-mariadb-errmsg 10.0.25-4.el6, +2 more Red Hat Software Collections for Red Hat Enterprise Linux Workstation (v. 7) rh-mariadb100-mariadb 10.0.25-4.el7, rh-mariadb100-mariadb-test 10.0.25-4.el7, rh-mariadb100-mariadb-bench 10.0.25-4.el7, rh-mariadb100-mariadb-common 10.0.25-4.el7, rh-mariadb100-mariadb-config 10.0.25-4.el7, rh-mariadb100-mariadb-errmsg 10.0.25-4.el7, +2 more -
Red Hat Directory Server 8 pcre Red Hat Enterprise Linux 5 pcre Red Hat Enterprise Linux 6 pcre, glib2 Red Hat Enterprise Linux 7 glib2, glib2-fam, glib2-tests, virtuoso-opensource, virtuoso-opensource-utils Red Hat JBoss Enterprise Web Server 1 httpd Red Hat JBoss Enterprise Web Server 2 jbcs-httpd24, jbcs-httpd24-runtimenot affected: vulnerable code not present
+1 more productsfewer
Red Hat Software Collections rh-mariadb101-mariadb, rh-mariadb101-mariadb-test, rh-mariadb101-mariadb-bench, rh-mariadb101-mariadb-common, rh-mariadb101-mariadb-config, rh-mariadb101-mariadb-errmsg, +3 more
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
Exploit prediction
8.43% chance of exploitation in the next 30 days, higher than 95% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- bugs.exim.org https://bugs.exim.org/show_bug.cgi?id=1791 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| NVD | 3.0 | 9.8 | CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| NVD | 2.0 | 7.5 | AV:N/AC:L/Au:N/C:P/I:P/A:P |
Classification
- Weakness
-
- CWE-119 Improper Restriction of Operations within the Bounds of a Memory Buffer
References
-
bugs.exim.org
/show_bug.cgi?id=1791
exploit
-
access.redhat.com
/errata/RHSA-2016:1132
vendor-advisory
-
rhn.redhat.com
/errata/RHSA-2016-1025.html
vendor-advisory
-
securityfocus.com
/bid/84810
vdb-entry
- vcs.pcre.org /pcre2?view=revision&revision=489
- oracle.com /technetwork/topics/security/linuxbulletinapr2016-2952096.html
- www-01.ibm.com /support/docview.wss?uid=isg3T1023886
- bugs.debian.org /815921
- bugs.debian.org /815920
- bugzilla.redhat.com /show_bug.cgi?id=1311503
- tenable.com /security/tns-2016-18
- bto.bluecoat.com /security-advisory/sa128
- vcs.pcre.org /pcre?view=revision&revision=1631
Sources
- CVE List CVE-2016-3191
- NVD CVE-2016-3191
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.