Skip to content

Commit 4f6f9f3

Browse files
committed
Add blogpost for CVE-2025-48866
1 parent 080178f commit 4f6f9f3

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
---
2+
title: 'DoS vulnerability: CVE-2025-48866 - 2025 June'
3+
date: '2025-06-02T00:00:00+02:00'
4+
author: airween
5+
---
6+
7+
We would like to share our take on [CVE-2025-48866](https://cve.mitre.org/cgi-bin/cvename.cgi?name=2025-48866), which was published on June 2, 2025.
8+
9+
<!--more-->
10+
11+
We recently fixed a DoS vulnerability in mod_security2 (see the blog [post](https://modsecurity.org/20250521/possible-dos-vulnerability-cve-2025-47947-2025-may/)), affecting `sanitiseMatched` and `sanitiseMatchedBytes`. After we released the version which contains the fix, we reviewed our code for similar issues.
12+
13+
During this code review we found that the `sanitiseArg` (and `sanitizeArg` - this is the same action but an alias) action's behavior is vulnerable to DoS in a similar way - except that the rule writer must specify an argument for the action, e.g.,
14+
15+
```
16+
SecRule ... "...,sanitiseArg:password..."
17+
```
18+
Only the specified argument will be sanitized. See the action's [reference](https://github.com/owasp-modsecurity/ModSecurity/wiki/Reference-Manual-(v2.x)#sanitisearg).
19+
20+
Although the CVE rating is high (7.5/10, high), the flaw can only be exploited under very specific circumstances.
21+
22+
The issue only affects mod_security2. libmodsecurity3 is not affected as the concerned actions are not supported.
23+
24+
### Explanation
25+
26+
There is a non-disruptive action in mod_security2: [sanitiseArg](https://github.com/owasp-modsecurity/ModSecurity/wiki/Reference-Manual-(v2.x)#sanitisearg). When a rule uses this action, matching variables (which can be argument names or values) will be masked by asterisks (`*`) in the audit.log, section C (request body).
27+
28+
The action is called every time the argument name matches with the given name to action, after examining the variable (e.g., `ARGS`). For example, if the `ARGS` length were 500 and all of them match with the action's argument, the action would be called 500 times. The action searches all parsed arguments with matching names and all matched argument names are added to the list of arguments to be sanitized - similar as we explained in previous blog post.
29+
30+
This bug only affects mod_security2, probably all 2.x versions. It does not affect libmodsecurity3 as it does not support the [sanitiseArg](https://github.com/owasp-modsecurity/ModSecurity/wiki/Reference-Manual-(v3.x)#sanitisearg).

0 commit comments

Comments
 (0)