CVE-2025-47947 ModSecurity Has Possible DoS Vulnerability

High 7.5 Published Updated

Attackers can cause denial of service in ModSecurity when processing JSON payloads with specific sanitization rules, requiring a patch to mitigate.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2025-47947?

CVE-2025-47947 is a high-severity denial of service vulnerability in owasp-modsecurity ModSecurity, published on 21 May 2025. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

ModSecurity is an open source, cross platform web application firewall (WAF) engine for Apache, IIS and Nginx. Versions up to and including 2.9.8 are vulnerable to denial of service in one special case (in stable released versions): when the payload's content type is `application/json`, and there is at least one rule which does a `sanitiseMatchedBytes` action. A patch is available at pull request 3389 and expected to be part of version 2.9.9. No known workarounds are available.

Weakness: CWE-1050

Which versions are affected by CVE-2025-47947?

2 open source packages ship an affected version, including modsecurity and modsecurity2. It affects 1 product.

PackageAffectedFixed in
modsecurity BitnamiAll versions3.0.12
modsecurity2 BitnamiAll versions2.9.9
Linux distribution packages (38)
mod_security AlmaLinux:8All versions2.9.6-2.el8_10
mod_security-mlogc AlmaLinux:8All versions2.9.6-2.el8_10
mod_security AlmaLinux:9All versions2.9.6-2.el9_6
mod_security-mlogc AlmaLinux:9All versions2.9.6-2.el9_6
mod_security Red Hat:enterprise_linux:8::appstreamAll versions0:2.9.6-2.el8_10
mod_security-debuginfo Red Hat:enterprise_linux:8::appstreamAll versions0:2.9.6-2.el8_10
mod_security-debugsource Red Hat:enterprise_linux:8::appstreamAll versions0:2.9.6-2.el8_10
mod_security-mlogc Red Hat:enterprise_linux:8::appstreamAll versions0:2.9.6-2.el8_10
mod_security-mlogc-debuginfo Red Hat:enterprise_linux:8::appstreamAll versions0:2.9.6-2.el8_10
mod_security Red Hat:enterprise_linux:9::appstreamAll versions0:2.9.6-2.el9_6
mod_security-debuginfo Red Hat:enterprise_linux:9::appstreamAll versions0:2.9.6-2.el9_6
mod_security-debugsource Red Hat:enterprise_linux:9::appstreamAll versions0:2.9.6-2.el9_6
mod_security-mlogc Red Hat:enterprise_linux:9::appstreamAll versions0:2.9.6-2.el9_6
mod_security-mlogc-debuginfo Red Hat:enterprise_linux:9::appstreamAll versions0:2.9.6-2.el9_6
mod_security Red Hat:rhel_aus:8.2::appstreamAll versions0:2.9.2-8.el8_2.1
mod_security-debuginfo Red Hat:rhel_aus:8.2::appstreamAll versions0:2.9.2-8.el8_2.1
mod_security-debugsource Red Hat:rhel_aus:8.2::appstreamAll versions0:2.9.2-8.el8_2.1
mod_security-mlogc Red Hat:rhel_aus:8.2::appstreamAll versions0:2.9.2-8.el8_2.1
mod_security-mlogc-debuginfo Red Hat:rhel_aus:8.2::appstreamAll versions0:2.9.2-8.el8_2.1
mod_security Red Hat:rhel_aus:8.4::appstreamAll versions0:2.9.2-9.el8_4.1
mod_security-debuginfo Red Hat:rhel_aus:8.4::appstreamAll versions0:2.9.2-9.el8_4.1
mod_security-debugsource Red Hat:rhel_aus:8.4::appstreamAll versions0:2.9.2-9.el8_4.1
mod_security-mlogc Red Hat:rhel_aus:8.4::appstreamAll versions0:2.9.2-9.el8_4.1
mod_security-mlogc-debuginfo Red Hat:rhel_aus:8.4::appstreamAll versions0:2.9.2-9.el8_4.1
mod_security Red Hat:rhel_aus:8.6::appstreamAll versions0:2.9.2-9.el8_6.1
mod_security-debuginfo Red Hat:rhel_aus:8.6::appstreamAll versions0:2.9.2-9.el8_6.1
mod_security-debugsource Red Hat:rhel_aus:8.6::appstreamAll versions0:2.9.2-9.el8_6.1
mod_security-mlogc Red Hat:rhel_aus:8.6::appstreamAll versions0:2.9.2-9.el8_6.1
mod_security-mlogc-debuginfo Red Hat:rhel_aus:8.6::appstreamAll versions0:2.9.2-9.el8_6.1
mod_security Red Hat:rhel_e4s:8.6::appstreamAll versions0:2.9.2-9.el8_6.1
mod_security-debuginfo Red Hat:rhel_e4s:8.6::appstreamAll versions0:2.9.2-9.el8_6.1
mod_security-debugsource Red Hat:rhel_e4s:8.6::appstreamAll versions0:2.9.2-9.el8_6.1
mod_security-mlogc Red Hat:rhel_e4s:8.6::appstreamAll versions0:2.9.2-9.el8_6.1
mod_security-mlogc-debuginfo Red Hat:rhel_e4s:8.6::appstreamAll versions0:2.9.2-9.el8_6.1
mod_security Red Hat:rhel_e4s:8.8::appstreamAll versions0:2.9.6-1.el8_8.1
mod_security-debuginfo Red Hat:rhel_e4s:8.8::appstreamAll versions0:2.9.6-1.el8_8.1
mod_security-debugsource Red Hat:rhel_e4s:8.8::appstreamAll versions0:2.9.6-1.el8_8.1
mod_security-mlogc Red Hat:rhel_e4s:8.8::appstreamAll versions0:2.9.6-1.el8_8.1

Products include Trustwave Modsecurity.

How do I fix CVE-2025-47947?

Upgrade modsecurity to 3.0.12 or later.

Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.

Is CVE-2025-47947 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2025-47947 exists.

Public exploit code: 1 proofs of concept on GitHub.

Sources

Also known as ALSA-2025:8837, ALSA-2025:8844, AZL-62426, BIT-modsecurity-2025-47947, BIT-modsecurity2-2025-47947, CLSA-2025-1762421346 and 17 more.

Is CVE-2025-47947 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free