summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/changelog8
-rw-r--r--debian/patches/CVE-2017-6004.patch19
-rw-r--r--debian/patches/series1
-rw-r--r--pcre_jit_compile.c2
4 files changed, 29 insertions, 1 deletions
diff --git a/debian/changelog b/debian/changelog
index 4922e77..0c0a5dc 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+pcre3 (2:8.39-2.1) unstable; urgency=high
+
+ * Non-maintainer upload.
+ * CVE-2017-6004: crafted regular expression may cause denial of service
+ (Closes: #855405)
+
+ -- Salvatore Bonaccorso <carnil@debian.org> Fri, 17 Feb 2017 15:56:09 +0100
+
pcre3 (2:8.39-2) unstable; urgency=low
* Update symbols file to reflect compilation with gcc6 (Closes: #811969)
diff --git a/debian/patches/CVE-2017-6004.patch b/debian/patches/CVE-2017-6004.patch
new file mode 100644
index 0000000..afec3f8
--- /dev/null
+++ b/debian/patches/CVE-2017-6004.patch
@@ -0,0 +1,19 @@
+Description: CVE-2017-6004: crafted regular expression may cause denial of service
+Origin: upstream, https://vcs.pcre.org/pcre/code/trunk/pcre_jit_compile.c?r1=1676&r2=1680&view=patch
+Bug: https://bugs.exim.org/show_bug.cgi?id=2035
+Bug-Debian: https://bugs.debian.org/855405
+Forwarded: not-needed
+Author: Salvatore Bonaccorso <carnil@debian.org>
+Last-Update: 2017-02-17
+
+--- a/pcre_jit_compile.c
++++ b/pcre_jit_compile.c
+@@ -8111,7 +8111,7 @@ if (opcode == OP_COND || opcode == OP_SC
+
+ if (*matchingpath == OP_FAIL)
+ stacksize = 0;
+- if (*matchingpath == OP_RREF)
++ else if (*matchingpath == OP_RREF)
+ {
+ stacksize = GET2(matchingpath, 1);
+ if (common->currententry == NULL)
diff --git a/debian/patches/series b/debian/patches/series
index bdf74b5..d0ac423 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -5,3 +5,4 @@ pcregrep.1-patch
soname.patch
no_jit_x32_powerpcspe.patch
Disable_JIT_on_sparc64.patch
+CVE-2017-6004.patch
diff --git a/pcre_jit_compile.c b/pcre_jit_compile.c
index 4f15a27..70f07c2 100644
--- a/pcre_jit_compile.c
+++ b/pcre_jit_compile.c
@@ -8111,7 +8111,7 @@ if (opcode == OP_COND || opcode == OP_SCOND)
if (*matchingpath == OP_FAIL)
stacksize = 0;
- if (*matchingpath == OP_RREF)
+ else if (*matchingpath == OP_RREF)
{
stacksize = GET2(matchingpath, 1);
if (common->currententry == NULL)