安全更新:mod_security_crs v4.25.2 RPM 和 DEB 软件包已发布

mod_security_crs v4.25.2 已新增到 CodeIT 仓库。mod_security_crs 是 ModSecurity 的 OWASP CRS 规则集。这些软件包适用于 RHEL、CentOS、AlmaLinux、Rocky Linux 和 Oracle Linux 8 和 9,以及 Ubuntu 22.04 和 24.04。

本次更新修复了安全漏洞,建议尽快升级。

主要变更:

  • 已通过回移修复了 `vega` scanner 的 user agent 子串与 `veganism.social` 匹配时的误报问题(rule 913100)(Esad Cetiner,来自 #4777 的 cherry-pick)
  • 已通过回移修复,使 `tx.crs_skip_response_analysis` 也会跳过 phase 4 的 response body 规则;此前只会跳过 phase 3 的 header 规则(new rule 950022)(Jozef Sudolský,来自 #4807 的 cherry-pick)
  • 已通过回移默认允许并解析 `application/*+json` content types(包括包含 `+` 的子类型,例如 `application/vc+ld+json`)以及 AWS `application/x-amz-json-1.0`/`1.1` content types,因此这些 JSON request bodies 不再会被 content-type allow-list 阻止,也不会保持未检查状态(new rules 901360, 901370)(Felipe Zipitría,来自 #4775 和 #4828 的 cherry-pick)

修复的漏洞:

  • 已通过回移修复 [GHSA-575j-qr6p-9763],方法是将 `REQUEST_FILENAME` 加入 RCE rules 的目标中,因此放在 URL path 中的 command injection payload 会像 `ARGS` 中的那样被检查(rules 932125-932390, except 932200, where every URL path contains the `/` it requires)(Max Leske)
  • 已通过回移修复 [GHSA-89h9-2j8h-9gp2],方法是在匹配前将 `charset` 参数名转为小写,因此 `Content-Type` 中大写或混合大小写的 `CHARSET=` 将不再能够跳过 charset allow-list 检查(rule 920480)(Felipe Zipitría)
  • 已通过回移修复 [GHSA-qmx4-jfcv-fgww],方法是收集每一个 `_charset_` 值,因此第二个 multipart part 或 query-string 中的 `_charset_` 将不再能够覆盖掉被禁止的 charset(rule 922100)(Ervin Hegedüs)
  • 已通过回移修复,移除了 SQL `(X)OR` injection 检测中可被绕过的长度上限(rule 942390)(Felipe Zipitría,来自 #4713 的 cherry-pick)
  • 已通过回移修复 [V29-260924],方法是同时容忍扩展名后面的尾部 `/` 和点,因此以 `/` 结尾的 PHP 或 JSP upload filename 将不再能够绕过上传扩展名检查(rules 933110, 944140)(Felipe Zipitría,来自 #4815 的 cherry-pick)
  • 已将 rule 932171(Shellshock,CVE-2014-6271)形式化为 `regex-assembly` 文件,并应用了标准的 `[sx0b]` 空白类规范化;`json.` ARGS_NAMES 前缀检测本身在该分支上已通过一个未跟踪的修复存在,因此这是一项可维护性/一致性变更,而不是功能性修复(partial cherry-pick of #4703)

安全更新:mod_security v2.9.15 RPM 和 DEB 软件包已发布

mod_security v2.9.15 已新增到 CodeIT 仓库。ModSecurity 是 Apache httpd 的 Web 应用防火墙(WAF)模块。这些软件包适用于 RHEL、CentOS、AlmaLinux、Rocky Linux 和 Oracle Linux 8 和 9,以及 Ubuntu 22.04 和 24.04。

本次更新修复了安全漏洞,建议尽快升级。

主要变更:

  • fix(iis): 修正了 InstallModule32/64 的 CustomAction ID 命名交换 [Issue #3603 – @fzipi]

修复的漏洞:

  • fix: t:htmlEntityDecode 不会解码所有 ASCII 命名的 HTML 实体 [PR from private repo – @marcstern, @fzipi, @airween; fixed GHSA-cxqf-vgrr-xxrv]
  • fix: 在远程规则下载时使用安全值进行主机验证 [PR from private repo – @amitu314, @airween; fixed GHSA-2vqc-36qp-ccmw]
  • fix: 在使用前添加了对 XML 解析器上下文指针的检查 [PR from private repo – Tobias Klein, @airween; fixed GHSA-jx3r-phvx-2jmj]
  • fix: 修复了 t:removeComments 在相邻注释情况下的行为 [PR from private repo – @HEXER365, @airween; fixed GHSA-qrch-pjfr-9g47]
  • fix: t:base64DecodeExt 不能处理 ‘-‘ 和 ‘_’ 字符(URL-safe alphabet) [PR from private repo – @fzipi, @airween; fixed GHSA-4j47-8qcr-jf59]
  • fix: 处理 multipart Content-Disposition 头中的 ‘filename*’ 和重复的 ‘filename’ 参数;新增了 MULTIPART_DUPLICATE_PART_HEADER、MULTIPART_FILENAME_CHARSET、MULTIPART_FILENAME_LANGUAGE 变量 [PR from private repo – @hnakamur, @fzipi, @theseion, @airween; fixed GHSA-5pww-8rfg-9crf]