Security update: mod_security_crs v4.25.2 RPM and DEB packages released

mod_security_crs v4.25.2 has been added to the CodeIT repository. mod_security_crs is the OWASP CRS rule set for ModSecurity. The packages are built for RHEL, CentOS, AlmaLinux, Rocky Linux and Oracle Linux 8 and 9, and for Ubuntu 22.04 and 24.04.

This update fixes security vulnerabilities. Upgrading is recommended.

Major changes:

  • Backport false positive fix for the `vega` scanner user agent substring matching `veganism.social` (rule 913100) (Esad Cetiner, cherry-pick of #4777)
  • Backport fix so `tx.crs_skip_response_analysis` also skips the phase 4 response body rules; previously only the phase 3 header rules were skipped (new rule 950022) (Jozef Sudolský, cherry-pick of #4807)
  • Backport allowing and JSON-parsing `application/*+json` content types (including subtypes that contain a `+`, such as `application/vc+ld+json`) and the AWS `application/x-amz-json-1.0`/`1.1` content types by default, so these JSON request bodies are no longer blocked by the content-type allow-list or left uninspected (new rules 901360, 901370) (Felipe Zipitría, cherry-pick of #4775 and #4828)

Fixed vulnerabilities:

  • Backport fix for [GHSA-575j-qr6p-9763] via adding `REQUEST_FILENAME` to the targets of the RCE rules, so command injection payloads placed in the URL path are inspected like those in `ARGS` (rules 932125-932390, except 932200, where every URL path contains the `/` it requires) (Max Leske)
  • Backport fix for [GHSA-89h9-2j8h-9gp2] via lowercasing the `charset` parameter name before matching, so an uppercase or mixed-case `CHARSET=` in `Content-Type` can no longer skip the charset allow-list check (rule 920480) (Felipe Zipitría)
  • Backport fix for [GHSA-qmx4-jfcv-fgww] via collecting every `_charset_` value so a second multipart part or a query-string `_charset_` can no longer shadow a disallowed charset (rule 922100) (Ervin Hegedüs)
  • Backport fix removing a bypassable length bound in the SQL `(X)OR` injection detection (rule 942390) (Felipe Zipitría, cherry-pick of #4713)
  • Backport fix for [V29-260924] via tolerating trailing slashes as well as dots after the extension, so a PHP or JSP upload filename ending in `/` can no longer bypass the upload extension checks (rules 933110, 944140) (Felipe Zipitría, cherry-pick of #4815)
  • Formalize rule 932171 (Shellshock, CVE-2014-6271) into a `regex-assembly` file and apply the standard `[sx0b]` whitespace-class normalization; the `json.` ARGS_NAMES prefix detection itself was already present on this branch via an untracked fix, so this is a maintainability/consistency change, not a functional fix (partial cherry-pick of #4703)

Security update: mod_security v2.9.15 RPM and DEB packages released

mod_security v2.9.15 has been added to the CodeIT repository. ModSecurity is the web application firewall module for Apache httpd. The packages are built for RHEL, CentOS, AlmaLinux, Rocky Linux and Oracle Linux 8 and 9, and for Ubuntu 22.04 and 24.04.

This update fixes security vulnerabilities. Upgrading is recommended.

Major changes:

  • fix(iis): correct InstallModule32/64 CustomAction ID naming swap [Issue #3603 – @fzipi]

Fixed vulnerabilities:

  • fix: t:htmlEntityDecode does not decode all ASCII named HTML entities [PR from private repo – @marcstern, @fzipi, @airween; fixed GHSA-cxqf-vgrr-xxrv]
  • fix: use secure value for host verification in case of remote rules download [PR from private repo – @amitu314, @airween; fixed GHSA-2vqc-36qp-ccmw]
  • fix: add guard to check XML parser context pointer before use [PR from private repo – Tobias Klein, @airween; fixed GHSA-jx3r-phvx-2jmj]
  • fix: t:removeComments behavior in case of adjacent comments [PR from private repo – @HEXER365, @airween; fixed GHSA-qrch-pjfr-9g47]
  • fix: t:base64DecodeExt does not handle ‘-‘ and ‘_’ characters (URL-safe alphabet) [PR from private repo – @fzipi, @airween; fixed GHSA-4j47-8qcr-jf59]
  • fix: handle ‘filename*’ and duplicated ‘filename’ parameters in multipart Content-Disposition header; add new variables MULTIPART_DUPLICATE_PART_HEADER, MULTIPART_FILENAME_CHARSET, MULTIPART_FILENAME_LANGUAGE [PR from private repo – @hnakamur, @fzipi, @theseion, @airween; fixed GHSA-5pww-8rfg-9crf]