It's not a failure of mod_security, it is a failure of adobe flash:
http://bugs.adobe.com/jira/browse/FP-292. And, it's not a mod_security rule, as such, either. it's a base function of mod_security. mod_security is working perfectly since flash is not following standards.
everyones been recommending this, but it's not recommended since it leaves a whole bunch of scripts open. You can put this in a .htaccess file in the directory of the upload file.
SecFilterEngine Off
SecFilterScanPOST Off
The best approach is to make an exception for only the script in the
/usr/local/apache/conf/modsec.user.conf (cPanel server) mod_security config fle before any rules include files as such:
<LocationMatch "/wp-admin/async-upload.php">
SecFilterEngine Off
SecFilterScanPOST Off
</LocationMatch>
<LocationMatch "/wp-content/plugins/nggallery/admin/wp25/upload.php">
SecFilterEngine Off
SecFilterScanPOST Off
</LocationMatch>
These two files are the default locations of the WordPress flash upload and the NextGEN gallery plugin flash upload scripts. For any other scripts, change the LocationMatch to suit. Hope this help someone.