summaryrefslogtreecommitdiffstats
path: root/abs/core/apache/apache-2.2-optionsbleed-CVE-2017-9798.patch
blob: 040d55705521242d0720a5a0d2b27c5b2d7574f1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
CVE-2017-9798

Backport from https://svn.apache.org/viewvc?view=revision&revision=1807655

diff --git a/server/core.c b/server/core.c
index f61699e..d24542e 100644
--- a/server/core.c
+++ b/server/core.c
@@ -1809,6 +1809,12 @@ AP_CORE_DECLARE_NONSTD(const char *) ap_limit_section(cmd_parms *cmd,
             /* method has not been registered yet, but resorce restriction
              * is always checked before method handling, so register it.
              */
+            if (cmd->pool == cmd->temp_pool) {
+                /* In .htaccess, we can't globally register new methods. */
+                return apr_psprintf(cmd->pool, "Could not register method '%s' "
+                                   "for %s from .htaccess configuration",
+                                    method, cmd->cmd->name);
+            }
             methnum = ap_method_register(cmd->pool,
                                          apr_pstrdup(cmd->pool, method));