Hi,

a bug was reported against tomcat8 and tomcat7 in Jessie and it seems
the issue is related to our latest security updates. We would like to
address this regression as soon as possible because this one can be
triggered remotely and cause a denial-of-service.

I have attached the debdiffs for tomcat8 and tomcat7 to this email. I
will update the changelogs later.

Regards,

Markus
diff -Nru tomcat7-7.0.56/debian/changelog tomcat7-7.0.56/debian/changelog
--- tomcat7-7.0.56/debian/changelog     2017-01-05 18:16:41.000000000 +0100
+++ tomcat7-7.0.56/debian/changelog     2017-02-10 03:30:38.000000000 +0100
@@ -1,3 +1,10 @@
+tomcat7 (7.0.56-3+deb8u8) UNRELEASED; urgency=medium
+
+  * Team upload.
+  * Add BZ57544-infinite-loop.patch
+
+ -- Markus Koschany <a...@debian.org>  Fri, 10 Feb 2017 03:30:38 +0100
+
 tomcat7 (7.0.56-3+deb8u7) jessie-security; urgency=high
 
   * Fixed CVE-2016-8745: A bug in the error handling of the send file code for
diff -Nru tomcat7-7.0.56/debian/patches/BZ57544-infinite-loop.patch 
tomcat7-7.0.56/debian/patches/BZ57544-infinite-loop.patch
--- tomcat7-7.0.56/debian/patches/BZ57544-infinite-loop.patch   1970-01-01 
01:00:00.000000000 +0100
+++ tomcat7-7.0.56/debian/patches/BZ57544-infinite-loop.patch   2017-02-10 
03:30:38.000000000 +0100
@@ -0,0 +1,48 @@
+From: Markus Koschany <a...@debian.org>
+Date: Fri, 10 Feb 2017 03:01:38 +0100
+Subject: BZ57544 infinite loop
+
+Bug-Upstream: https://bz.apache.org/bugzilla/show_bug.cgi?id=60578
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=854551
+Origin: 
https://github.com/apache/tomcat80/commit/614e7f78aecc429d8740bb59900c2f9fbc86a788
+---
+ java/org/apache/coyote/http11/AbstractInputBuffer.java | 16 ++++------------
+ 1 file changed, 4 insertions(+), 12 deletions(-)
+
+diff --git a/java/org/apache/coyote/http11/AbstractInputBuffer.java 
b/java/org/apache/coyote/http11/AbstractInputBuffer.java
+index eda3609..a1251d6 100644
+--- a/java/org/apache/coyote/http11/AbstractInputBuffer.java
++++ b/java/org/apache/coyote/http11/AbstractInputBuffer.java
+@@ -225,15 +225,10 @@ public abstract class AbstractInputBuffer<S> implements 
InputBuffer{
+         request.recycle();
+ 
+         // Copy leftover bytes to the beginning of the buffer
+-        if (lastValid - pos > 0) {
+-            int npos = 0;
+-            int opos = pos;
+-            while (lastValid - opos > opos - npos) {
+-                System.arraycopy(buf, opos, buf, npos, opos - npos);
+-                npos += pos;
+-                opos += pos;
+-            }
+-            System.arraycopy(buf, opos, buf, npos, lastValid - opos);
++        if (lastValid - pos > 0 && pos > 0) {
++            System.arraycopy(buf, pos, buf, 0, lastValid - pos);
++            lastValid = lastValid - pos;
++            pos = 0;
+         }
+ 
+         // Recycle filters
+@@ -242,12 +237,9 @@ public abstract class AbstractInputBuffer<S> implements 
InputBuffer{
+         }
+ 
+         // Reset pointers
+-        lastValid = lastValid - pos;
+-        pos = 0;
+         lastActiveFilter = -1;
+         parsingHeader = true;
+         swallowInput = true;
+-
+     }
+ 
+ 
diff -Nru tomcat7-7.0.56/debian/patches/series 
tomcat7-7.0.56/debian/patches/series
--- tomcat7-7.0.56/debian/patches/series        2017-01-05 18:13:55.000000000 
+0100
+++ tomcat7-7.0.56/debian/patches/series        2017-02-10 03:30:38.000000000 
+0100
@@ -38,3 +38,4 @@
 BZ-57377.patch
 CVE-2016-8735.patch
 CVE-2016-8745.patch
+BZ57544-infinite-loop.patch
diff -Nru tomcat8-8.0.14/debian/changelog tomcat8-8.0.14/debian/changelog
--- tomcat8-8.0.14/debian/changelog     2017-01-06 00:39:34.000000000 +0100
+++ tomcat8-8.0.14/debian/changelog     2017-02-10 01:08:51.000000000 +0100
@@ -1,3 +1,10 @@
+tomcat8 (8.0.14-1+deb8u7) UNRELEASED; urgency=medium
+
+  * Team upload.
+  * Add BZ57544-infinite-loop.patch
+
+ -- Markus Koschany <a...@debian.org>  Fri, 10 Feb 2017 01:08:51 +0100
+
 tomcat8 (8.0.14-1+deb8u6) jessie-security; urgency=high
 
   * Fixed CVE-2016-8745: A bug in the error handling of the send file code for
diff -Nru tomcat8-8.0.14/debian/patches/BZ57544-infinite-loop.patch 
tomcat8-8.0.14/debian/patches/BZ57544-infinite-loop.patch
--- tomcat8-8.0.14/debian/patches/BZ57544-infinite-loop.patch   1970-01-01 
01:00:00.000000000 +0100
+++ tomcat8-8.0.14/debian/patches/BZ57544-infinite-loop.patch   2017-02-10 
01:08:51.000000000 +0100
@@ -0,0 +1,48 @@
+From: Markus Koschany <a...@debian.org>
+Date: Fri, 10 Feb 2017 01:06:54 +0100
+Subject: BZ57544 infinite loop
+
+Bug-Upstream: https://bz.apache.org/bugzilla/show_bug.cgi?id=60578
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=851304
+Origin: 
https://github.com/apache/tomcat80/commit/614e7f78aecc429d8740bb59900c2f9fbc86a788
+---
+ java/org/apache/coyote/http11/AbstractInputBuffer.java | 16 ++++------------
+ 1 file changed, 4 insertions(+), 12 deletions(-)
+
+diff --git a/java/org/apache/coyote/http11/AbstractInputBuffer.java 
b/java/org/apache/coyote/http11/AbstractInputBuffer.java
+index 33d4b3b..2aef369 100644
+--- a/java/org/apache/coyote/http11/AbstractInputBuffer.java
++++ b/java/org/apache/coyote/http11/AbstractInputBuffer.java
+@@ -235,15 +235,10 @@ public abstract class AbstractInputBuffer<S> implements 
InputBuffer{
+         request.recycle();
+ 
+         // Copy leftover bytes to the beginning of the buffer
+-        if (lastValid - pos > 0) {
+-            int npos = 0;
+-            int opos = pos;
+-            while (lastValid - opos > opos - npos) {
+-                System.arraycopy(buf, opos, buf, npos, opos - npos);
+-                npos += pos;
+-                opos += pos;
+-            }
+-            System.arraycopy(buf, opos, buf, npos, lastValid - opos);
++        if (lastValid - pos > 0 && pos > 0) {
++            System.arraycopy(buf, pos, buf, 0, lastValid - pos);
++            lastValid = lastValid - pos;
++            pos = 0;
+         }
+ 
+         // Recycle filters
+@@ -252,12 +247,9 @@ public abstract class AbstractInputBuffer<S> implements 
InputBuffer{
+         }
+ 
+         // Reset pointers
+-        lastValid = lastValid - pos;
+-        pos = 0;
+         lastActiveFilter = -1;
+         parsingHeader = true;
+         swallowInput = true;
+-
+     }
+ 
+ 
diff -Nru tomcat8-8.0.14/debian/patches/series 
tomcat8-8.0.14/debian/patches/series
--- tomcat8-8.0.14/debian/patches/series        2017-01-06 00:39:34.000000000 
+0100
+++ tomcat8-8.0.14/debian/patches/series        2017-02-10 01:08:51.000000000 
+0100
@@ -33,3 +33,4 @@
 BZ-57377.patch
 CVE-2016-8735.patch
 CVE-2016-8745.patch
+BZ57544-infinite-loop.patch

Attachment: signature.asc
Description: OpenPGP digital signature

__
This is the maintainer address of Debian's Java team
<http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-maintainers>. 
Please use
debian-j...@lists.debian.org for discussions and questions.

Reply via email to