Stack-based buffer overflow in PCRE - CVE-2016-3191
Published: March 18, 2016 / Updated: July 28, 2020
PCRE
Detailed vulnerability description
The vulnerability allows a remote attacker to execute arbitrary code on the target system.
The vulnerability exists due to a boundary error within 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 when processing a crafted regular expression, as demonstrated by a JavaScript RegExp object encountered by Konqueror, aka ZDI-CAN-3542. A remote unauthenticated attacker can trigger stack-based buffer overflow and execute arbitrary code on the target system.
Successful exploitation of this vulnerability may result in complete compromise of vulnerable system.
How to mitigate CVE-2016-3191
Sources
- http://rhn.redhat.com/errata/RHSA-2016-1025.html
- http://vcs.pcre.org/pcre?view=revision&revision=1631
- http://vcs.pcre.org/pcre2?view=revision&revision=489
- http://www.oracle.com/technetwork/topics/security/linuxbulletinapr2016-2952096.html
- http://www.securityfocus.com/bid/84810
- http://www-01.ibm.com/support/docview.wss?uid=isg3T1023886
- https://access.redhat.com/errata/RHSA-2016:1132
- https://bto.bluecoat.com/security-advisory/sa128
- https://bugs.debian.org/815920
- https://bugs.debian.org/815921
- https://bugs.exim.org/show_bug.cgi?id=1791
- https://bugzilla.redhat.com/show_bug.cgi?id=1311503
- https://www.tenable.com/security/tns-2016-18