ModSecurity Blog

ModSecurity 2.1.3 is the latest stable release of ModSecurity. The 2.1.3 release contains some enhancements to multipart form request handling as well as fixes for using custom error documents, using ModSecurity behind a proxy and using ModSecurity on older platforms.

Enhancements to Multipart Form Request Handling

The multipart form request parsing code was updated and variables were added to allow checking for various parsing issues (request body abnormalities). This allows for checking the format of multipart form data submitted by the client. If the parser notices an abnormality, then the MULTIPART_STRICT_ERROR variable will be set. Even more granularity can be checked by looking at other MULTIPART_* variables. See the doumentation on the MULTIPART_STRICT_ERROR variable for further information and a usage example.

Fixed Custom Error Documents

There was a regression in 2.1.2 that was causing custom error document requests which used an internal redirect to be blocked by ModSecurity if ModSecurity had previously blocked the request. In the 2.1.3 release, error documents via internal redirects are allowed and the ErrorDocument Apache directive can again be used to serve a custom error document for ModSecurity blocked requests.

Fixed Issue Running ModSecurity Pehind a Proxy

There are two popular Apache modules -- mod_rpaf and mod_extract_forwarded2 -- that can be used to set the REMOTE_ADDR variable based on the X-Forwarded-For HTTP header when running behind a proxy. These modules were not completely working with ModSecurity as they were being enabled after ModSecurity rule processing. This has been fixed in the 2.1.3 release by forcing these two modules to run prior to ModSecurity.

Fixed Potential Issue with ModSecurity on Older Platforms

ModSecurity has an external API that can be used to extend ModSecurity by adding additional operators, actions and variables. The API code is not compatible with some combinations of older versions of Apache and/or older versions of the APR library when compiled with an older version of gcc. ModSecurity can now be compiled with NO_MODSEC_API defined so that it can be used on these older platforms. This is done by adding -DNO_MODSEC_API to the DEFS variable in the Makefile. This option may be required to use ModSecurity against the IBM WebSphere HTTP Server (IBM_HTTP_Server/6.0).

See the CHANGES file within the distribution for a full list of changes.

As always, send questions/comments to the community support mailing list. You can download the latest releases, view the documentation and subscribe to the mailing list at www.modsecurity.org.