[-]
[+]
|
Changed |
mod_security-ix.changes
|
|
[-]
[+]
|
Changed |
mod_security-ix.spec
^
|
|
[-]
[+]
|
Changed |
modsecurity-apache_2.6.6.tar.bz2/CHANGES
^
|
@@ -1,3 +1,11 @@
+08 Jun 2012 - 2.6.6
+-------------------
+
+ * Added build system support for KfreeBSD and HURD.
+
+ * Fixed a multipart bypass issue related to quote parsing
+ Credits to Qualys Vulnerability & Malware Research Labs (VMRL).
+
20 Mar 2012 - 2.6.5
-------------------
|
[-]
[+]
|
Changed |
modsecurity-apache_2.6.6.tar.bz2/apache2/msc_multipart.c
^
|
@@ -20,6 +20,32 @@
#include "msc_util.h"
#include "msc_parsers.h"
+void validate_quotes(modsec_rec *msr, unsigned char *data) {
+ int i, len;
+
+ if(msr == NULL)
+ return;
+
+ if(msr->mpd == NULL)
+ return;
+
+ if(data == NULL)
+ return;
+
+ len = strlen(data);
+
+ for(i = 0; i < len; i++) {
+
+ if(data[i] == '\'') {
+ if (msr->txcfg->debuglog_level >= 9) {
+ msr_log(msr, 9, "Multipart: Invalid quoting detected: %s length %d bytes",
+ log_escape_nq(msr->mp, data), len);
+ }
+ msr->mpd->flag_invalid_quoting = 1;
+ }
+ }
+}
+
#if 0
static char *multipart_construct_filename(modsec_rec *msr) {
@@ -155,6 +181,9 @@
/* evaluate part */
if (strcmp(name, "name") == 0) {
+
+ validate_quotes(msr, value);
+
if (msr->mpd->mpp->name != NULL) {
msr_log(msr, 4, "Multipart: Warning: Duplicate Content-Disposition name: %s",
log_escape_nq(msr->mp, value));
@@ -169,6 +198,9 @@
}
else
if (strcmp(name, "filename") == 0) {
+
+ validate_quotes(msr, value);
+
if (msr->mpd->mpp->filename != NULL) {
msr_log(msr, 4, "Multipart: Warning: Duplicate Content-Disposition filename: %s",
log_escape_nq(msr->mp, value));
@@ -187,7 +219,18 @@
while((*p == '\t') || (*p == ' ')) p++;
/* the next character must be a zero or a semi-colon */
if (*p == '\0') return 1; /* this is OK */
- if (*p != ';') return -12;
+ if (*p != ';') {
+ p--;
+ if(*p == '\'' || *p == '\"') {
+ if (msr->txcfg->debuglog_level >= 9) {
+ msr_log(msr, 9, "Multipart: Invalid quoting detected: %s length %d bytes",
+ log_escape_nq(msr->mp, p), strlen(p));
+ }
+ msr->mpd->flag_invalid_quoting = 1;
+ }
+ p++;
+ return -12;
+ }
p++; /* move over the semi-colon */
}
|
[-]
[+]
|
Changed |
modsecurity-apache_2.6.6.tar.bz2/apache2/msc_release.h
^
|
@@ -38,7 +38,7 @@
#define MODSEC_VERSION_MAJOR "2"
#define MODSEC_VERSION_MINOR "6"
-#define MODSEC_VERSION_MAINT "5"
+#define MODSEC_VERSION_MAINT "6"
#define MODSEC_VERSION_TYPE ""
#define MODSEC_VERSION_RELEASE ""
|
[-]
[+]
|
Changed |
modsecurity-apache_2.6.6.tar.bz2/configure
^
|
@@ -12294,13 +12294,21 @@
freebsdos=true
;;
*-*-netbsd*)
- echo "Checking plataform... Identified as FreeBSD"
+ echo "Checking plataform... Identified as NetBSD"
netbsdos=true
;;
*-*-openbsd*)
- echo "Checking plataform... Identified as FreeBSD"
+ echo "Checking plataform... Identified as OpenBSD"
openbsdos=true
;;
+ *-*-kfreebsd*)
+ echo "Checking plataform... Identified as kFreeBSD, treating as linux"
+ linuxos=true
+ ;;
+ *-*-gnu*.*)
+ echo "Checking plataform... Identified as HURD, treating as linux"
+ linuxos=true
+ ;;
*)
echo "Unknown CANONICAL_HOST $host"
exit
|
[-]
[+]
|
Changed |
modsecurity-apache_2.6.6.tar.bz2/configure.ac
^
|
@@ -110,13 +110,21 @@
freebsdos=true
;;
*-*-netbsd*)
- echo "Checking plataform... Identified as FreeBSD"
+ echo "Checking plataform... Identified as NetBSD"
netbsdos=true
;;
*-*-openbsd*)
- echo "Checking plataform... Identified as FreeBSD"
+ echo "Checking plataform... Identified as OpenBSD"
openbsdos=true
;;
+ *-*-kfreebsd*)
+ echo "Checking plataform... Identified as kFreeBSD, treating as linux"
+ linuxos=true
+ ;;
+ *-*-gnu*.*)
+ echo "Checking plataform... Identified as HURD, treating as linux"
+ linuxos=true
+ ;;
*)
echo "Unknown CANONICAL_HOST $host"
exit
|
[-]
[+]
|
Changed |
zzz_asl_custom_exclude.conf
^
|
@@ -4,3 +4,4 @@
SecRuleRemoveById 350147
SecRuleRemoveById 350148
SecRuleRemoveById 340162
+SecRuleRemoveById 391213
|