]> granicus.if.org Git - apache/commitdiff
Merge r1610652 from trunk:
authorJeff Trawick <trawick@apache.org>
Tue, 15 Jul 2014 11:17:49 +0000 (11:17 +0000)
committerJeff Trawick <trawick@apache.org>
Tue, 15 Jul 2014 11:17:49 +0000 (11:17 +0000)
SECURITY (CVE-2014-3523): Fix a memory consumption denial of
service in the WinNT MPM used in all Windows installations.
Workaround: AcceptFilter <protocol> {none|connect}

Submitted by: trawick
Reviewed by: jorton, covener, jim

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1610653 13f79535-47bb-0310-9956-ffa450edef68

CHANGES
server/mpm/winnt/child.c

diff --git a/CHANGES b/CHANGES
index 7205eabe4964d6b748a2fb27dcbb1248def9e466..afd4dd64addf4c947c42f159b264eed4c8684805 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -2,6 +2,11 @@
 
 Changes with Apache 2.4.10
 
+  *) SECURITY (CVE-2014-0226): Fix a memory consumption denial of
+     service in the WinNT MPM (used in all Windows installations).
+     Workaround: AcceptFilter <protocol> {none|connect}
+     [Jeff Trawick]
+
   *) SECURITY: CVE-2014-0226 (cve.mitre.org)
      Fix a race condition in scoreboard handling, which could lead to
      a heap buffer overflow.  [Joe Orton, Eric Covener]
index 44692f2ce89e8f64bb5aa622cbeceea98be15718..e4d1c150a1865c1ed7d091bae9ca45e5641da429 100644 (file)
@@ -601,8 +601,12 @@ reinit: /* target of data or connect upon too many AcceptEx failures */
                 b->length = BytesRead;
                 context->overlapped.Pointer = b;
             }
-            else
+            else {
+                if (accf == 2) {
+                    apr_bucket_free(buf);
+                }
                 context->overlapped.Pointer = NULL;
+            }
         }
         else /* (accf = 0)  e.g. 'none' */
         {