[pkg-java] r14906 - in trunk/tomcat6/debian: . patches

James Page jamespage-guest at alioth.debian.org
Thu Sep 15 08:29:15 UTC 2011


Author: jamespage-guest
Date: 2011-09-15 08:29:14 +0000 (Thu, 15 Sep 2011)
New Revision: 14906

Added:
   trunk/tomcat6/debian/patches/0013-CVE-2011-3190.patch
Modified:
   trunk/tomcat6/debian/changelog
   trunk/tomcat6/debian/patches/series
Log:
Added patch for CVE-2011-3190 (LP: #843701). 

Modified: trunk/tomcat6/debian/changelog
===================================================================
--- trunk/tomcat6/debian/changelog	2011-09-15 08:18:54 UTC (rev 14905)
+++ trunk/tomcat6/debian/changelog	2011-09-15 08:29:14 UTC (rev 14906)
@@ -10,6 +10,9 @@
   [ Niels Thykier ]
   * Removed myself from uploaders.
 
+  [ James Page ]
+  * Added patch for CVE-2011-3190 (LP: #843701). 
+
  -- tony mancill <tmancill at debian.org>  Sun, 14 Aug 2011 08:20:45 -0700
 
 tomcat6 (6.0.32-5) unstable; urgency=low

Added: trunk/tomcat6/debian/patches/0013-CVE-2011-3190.patch
===================================================================
--- trunk/tomcat6/debian/patches/0013-CVE-2011-3190.patch	                        (rev 0)
+++ trunk/tomcat6/debian/patches/0013-CVE-2011-3190.patch	2011-09-15 08:29:14 UTC (rev 14906)
@@ -0,0 +1,72 @@
+Description: [PATCH] Fix CVE-2011-3190 Fix
+ https://issues.apache.org/bugzilla/show_bug.cgi?id=51698
+ Prevent AJP request forgery via unread request body packet
+Origin: https://github.com/apache/tomcat60/commit/1a04877e07c8ac9f924b130cbc372a11c273de66
+
+Index: tomcat6/java/org/apache/coyote/ajp/AjpAprProcessor.java
+===================================================================
+--- tomcat6.orig/java/org/apache/coyote/ajp/AjpAprProcessor.java	2011-09-08 14:25:11.619833000 +0100
++++ tomcat6/java/org/apache/coyote/ajp/AjpAprProcessor.java	2011-09-08 14:44:12.771697501 +0100
+@@ -390,11 +390,13 @@
+                     }
+                     continue;
+                 } else if(type != Constants.JK_AJP13_FORWARD_REQUEST) {
+-                    // Usually the servlet didn't read the previous request body
+-                    if(log.isDebugEnabled()) {
+-                        log.debug("Unexpected message: "+type);
++                    // Unexpected packet type. Unread body packets should have
++                    // been swallowed in finish().
++                    if (log.isDebugEnabled()) {
++                        log.debug("Unexpected message: " + type);
+                     }
+-                    continue;
++                    error = true;
++                    break;
+                 }
+ 
+                 keptAlive = true;
+@@ -1033,6 +1035,11 @@
+ 
+         finished = true;
+ 
++        // Swallow the unread body packet if present
++        if (first && request.getContentLengthLong() > 0) {
++            receive();
++        }
++        
+         // Add the end message
+         if (outputBuffer.position() + endMessageArray.length > outputBuffer.capacity()) {
+             flush();
+Index: tomcat6/java/org/apache/coyote/ajp/AjpProcessor.java
+===================================================================
+--- tomcat6.orig/java/org/apache/coyote/ajp/AjpProcessor.java	2011-09-08 14:25:11.619833000 +0100
++++ tomcat6/java/org/apache/coyote/ajp/AjpProcessor.java	2011-09-08 14:44:12.771697501 +0100
+@@ -408,11 +408,13 @@
+                     }
+                     continue;
+                 } else if(type != Constants.JK_AJP13_FORWARD_REQUEST) {
+-                    // Usually the servlet didn't read the previous request body
+-                    if(log.isDebugEnabled()) {
+-                        log.debug("Unexpected message: "+type);
++                    // Unexpected packet type. Unread body packets should have
++                    // been swallowed in finish().
++                    if (log.isDebugEnabled()) {
++                        log.debug("Unexpected message: " + type);
+                     }
+-                    continue;
++                    error = true;
++                    break;
+                 }
+ 
+                 request.setStartTime(System.currentTimeMillis());
+@@ -1038,6 +1040,11 @@
+ 
+         finished = true;
+ 
++        // Swallow the unread body packet if present
++        if (first && request.getContentLengthLong() > 0) {
++            receive();
++        }
++        
+         // Add the end message
+         output.write(endMessageArray);

Modified: trunk/tomcat6/debian/patches/series
===================================================================
--- trunk/tomcat6/debian/patches/series	2011-09-15 08:18:54 UTC (rev 14905)
+++ trunk/tomcat6/debian/patches/series	2011-09-15 08:29:14 UTC (rev 14906)
@@ -9,3 +9,4 @@
 0010-Use-java.security.policy-file-in-catalina.sh.patch
 0011-623242.patch
 0012-CVE-2011-2204.patch
+0013-CVE-2011-3190.patch




More information about the pkg-java-commits mailing list