]> git.pld-linux.org Git - packages/apache.git/blob - apache-CVE-2005-3352.patch
- use phtml too
[packages/apache.git] / apache-CVE-2005-3352.patch
1
2 Author: mjc
3 Date: Mon Dec 12 09:27:59 2005
4 New Revision: 356291
5
6 URL: http://svn.apache.org/viewcvs?rev=356291&view=rev
7 Log:
8 Fix moderate security issue CVE-2005-3352 mod_imap cross-site scripting flaw
9
10 Submitted by: Mark Cox <mjc apache.org>
11 Reviewed by: jorton, mjc, fielding
12 PR: 37874
13
14 --- httpd-2.2.0/modules/mappers/mod_imagemap.c.cve3352
15 +++ httpd-2.2.0/modules/mappers/mod_imagemap.c
16 @@ -342,7 +342,7 @@
17      if (!strcasecmp(value, "referer")) {
18          referer = apr_table_get(r->headers_in, "Referer");
19          if (referer && *referer) {
20 -            return apr_pstrdup(r->pool, referer);
21 +            return ap_escape_html(r->pool, referer);
22          }
23          else {
24              /* XXX:  This used to do *value = '\0'; ... which is totally bogus
25 --- httpd-2.2.0/server/util.c.cve3352
26 +++ httpd-2.2.0/server/util.c
27 @@ -1748,6 +1748,8 @@
28              j += 3;
29          else if (s[i] == '&')
30              j += 4;
31 +        else if (s[i] == '"')
32 +            j += 5;
33  
34      if (j == 0)
35          return apr_pstrmemdup(p, s, i);
36 @@ -1766,6 +1768,10 @@
37              memcpy(&x[j], "&amp;", 5);
38              j += 4;
39          }
40 +        else if (s[i] == '"') {
41 +            memcpy(&x[j], "&quot;", 6);
42 +            j += 5;
43 +        }
44          else
45              x[j] = s[i];
46  
This page took 0.026414 seconds and 3 git commands to generate.