CVE-2023-38285
Trustwave ModSecurity 3.x before 3.0.10 has Inefficient Algorithmic Complexity.
Trustwave ModSecurity 3.x before 3.0.10 has Inefficient Algorithmic Complexity.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- High
Exploit likelihood
What each source reports
NVD Score used
7.5
Trustwave ModSecurity 3.x before 3.0.10 has Inefficient Algorithmic Complexity.
- Record
CVE-2023-38285- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-407
- Updated
- 2026-11-02
CVE List No score
Trustwave ModSecurity 3.x before 3.0.10 has Inefficient Algorithmic Complexity.
- Record
CVE-2023-38285- Updated
- 2026-11-02
EUVDEUVD-2023-42105 No score
Trustwave ModSecurity 3.x before 3.0.10 has Inefficient Algorithmic Complexity.
- Record
EUVD-2023-42105- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-wf6m-89q7-h9jh
7.5
Trustwave ModSecurity 3.x before 3.0.10 has Inefficient Algorithmic Complexity.
Trustwave ModSecurity 3.x before 3.0.10 has Inefficient Algorithmic Complexity.
- Record
GHSA-wf6m-89q7-h9jh- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-407
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2023-38285
7.5
Trustwave ModSecurity 3.x before 3.0.10 has Inefficient Algorithmic Complexity.
- Record
DEBIAN-CVE-2023-38285- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVUBUNTU-CVE-2023-38285
7.5
Trustwave ModSecurity 3.x before 3.0.10 has Inefficient Algorithmic Complexity.
- Record
UBUNTU-CVE-2023-38285- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
Show 6 moreShow less
OSVBIT-modsecurity-2023-38285 No score
Trustwave ModSecurity 3.x before 3.0.10 has Inefficient Algorithmic Complexity.
- Record
BIT-modsecurity-2023-38285- Updated
- 2026-11-02
OSVBIT-modsecurity2-2023-38285 No score
Trustwave ModSecurity 3.x before 3.0.10 has Inefficient Algorithmic Complexity.
- Record
BIT-modsecurity2-2023-38285- Updated
- 2026-11-02
OSV No score
Trustwave ModSecurity 3.x before 3.0.10 has Inefficient Algorithmic Complexity.
- Record
CVE-2023-38285- Updated
- 2026-11-02
OSVopenSUSE-SU-2023:0257-1 No score
Security update for modsecurity
This update for modsecurity fixes the following issues:
Update to version 3.0.10:
-
Security impacting issue (fix boo#1213702, CVE-2023-38285)
- Fix: worst-case time in implementation of four transformations
- Additional information on this issue is available at https://www.trustwave.com/resources/blogs/spiderlabs-blog/modsecurity-v3-dos-vulnerability-in-four-transformations-cve-2023-38285/
-
Enhancements and bug fixes
- Add TX synonym for MSC_PCRE_LIMITS_EXCEEDED
- Make MULTIPART_PART_HEADERS accessible to lua
- Fix: Lua scripts cannot read whole collection at once
- Fix: quoted Include config with wildcard
- Support isolated PCRE match limits
- Fix: meta actions not applied if multiMatch in first rule of chain
- Fix: audit log may omit tags when multiMatch
- Exclude CRLF from MULTIPART_PART_HEADER value
- Configure: use AS_ECHO_N instead echo -n
- Adjust position of memset from 2890
Update to version 3.0.9:
- Add some member variable inits in Transaction class (possible segfault)
- Fix: possible segfault on reload if duplicate ip+CIDR in ip match list
- Resolve memory leak on reload (bison-generated variable)
- Support equals sign in XPath expressions
- Encode two special chars in error.log output
- Add JIT support for PCRE2
- Support comments in ipMatchFromFile file via '#' token
- Use name package name libmaxminddb with pkg-config
- Fix: FILES_TMP_CONTENT collection key should use part name
- Use AS_HELP_STRING instead of obsolete AC_HELP_STRING macro
- During configure, do not check for pcre if pcre2 specified
- Use pkg-config to find libxml2 first
- Fix two rule-reload memory leak issues
- Correct whitespace handling for Include directive
- Fix CVE-2023-28882, a segfault and a resultant crash of a worker process in some configurations with certain inputs, boo#1210993
Update to version 3.0.8
- Adjust parser activation rules in modsecurity.conf-recommended [#2796]
- Multipart parsing fixes and new MULTIPART_PART_HEADERS collection [#2795]
- Prevent LMDB related segfault [#2755, #2761]
- Fix msc_transaction_cleanup function comment typo [#2788]
- Fix: MULTIPART_INVALID_PART connected to wrong internal variable [#2785]
- Restore Unique_id to include random portion after timestamp [#2752, #2758]
Update to version 3.0.7
- Support PCRE2
- Support SecRequestBodyNoFilesLimit
- Add ctl:auditEngine action support
- Move PCRE2 match block from member variable
- Add SecArgumentsLimit, 200007 to modsecurity.conf-recommended
- Fix memory leak when concurrent log includes REMOTE_USER
- Fix LMDB initialization issues
- Fix initcol error message wording
- Tolerate other parameters after boundary in multipart C-T
- Add DebugLog message for bad pattern in rx operator
- Fix misuses of LMDB API
- Fix duplication typo in code comment
- Fix multiMatch msg, etc, population in audit log
- Fix some name handling for ARGS_*NAMES: regex SecRuleUpdateTargetById, etc.
- Adjust confusing variable name in setRequestBody method
- Multipart names/filenames may include single quote if double-quote enclosed
- Add SecRequestBodyJsonDepthLimit to modsecurity.conf-recommended
Update to version 3.0.6
- Security issue: Support configurable limit on depth of JSON parsing, possible DoS issue. CVE-2021-42717
Update to version 3.0.5
- New: Having ARGS_NAMES, variables proxied
- Fix: FILES variable does not use multipart part name for key
- GeoIP: switch to GEOIP_MEMORY_CACHE from GEOIP_INDEX_CACHE
- Support configurable limit on number of arguments processed
- Adds support to lua 5.4
- Add support for new operator rxGlobal
- Fix: Replaces put with setenv in SetEnv action
- Fix: Regex key selection should not be case-sensitive
- Fix: Only delete Multipart tmp files after rules have run
- Fixed MatchedVar on chained rules
- Fix IP address logging in Section A
- Fix: rx: exit after full match (remove /g emulation); ensure capture groups occuring after unused groups still populate TX vars
- Fix rule-update-target for…
- Record
openSUSE-SU-2023:0257-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2023:0269-1 No score
Security update for modsecurity
This update for modsecurity fixes the following issues:
Update to version 3.0.10:
-
Security impacting issue (fix boo#1213702, CVE-2023-38285)
- Fix: worst-case time in implementation of four transformations
- Additional information on this issue is available at https://www.trustwave.com/resources/blogs/spiderlabs-blog/modsecurity-v3-dos-vulnerability-in-four-transformations-cve-2023-38285/
-
Enhancements and bug fixes
- Add TX synonym for MSC_PCRE_LIMITS_EXCEEDED
- Make MULTIPART_PART_HEADERS accessible to lua
- Fix: Lua scripts cannot read whole collection at once
- Fix: quoted Include config with wildcard
- Support isolated PCRE match limits
- Fix: meta actions not applied if multiMatch in first rule of chain
- Fix: audit log may omit tags when multiMatch
- Exclude CRLF from MULTIPART_PART_HEADER value
- Configure: use AS_ECHO_N instead echo -n
- Adjust position of memset from 2890
Update to version 3.0.9:
- Add some member variable inits in Transaction class (possible segfault)
- Fix: possible segfault on reload if duplicate ip+CIDR in ip match list
- Resolve memory leak on reload (bison-generated variable)
- Support equals sign in XPath expressions
- Encode two special chars in error.log output
- Add JIT support for PCRE2
- Support comments in ipMatchFromFile file via '#' token
- Use name package name libmaxminddb with pkg-config
- Fix: FILES_TMP_CONTENT collection key should use part name
- Use AS_HELP_STRING instead of obsolete AC_HELP_STRING macro
- During configure, do not check for pcre if pcre2 specified
- Use pkg-config to find libxml2 first
- Fix two rule-reload memory leak issues
- Correct whitespace handling for Include directive
- Fix CVE-2023-28882, a segfault and a resultant crash of a worker process in some configurations with certain inputs, boo#1210993
Update to version 3.0.8
- Adjust parser activation rules in modsecurity.conf-recommended [#2796]
- Multipart parsing fixes and new MULTIPART_PART_HEADERS collection [#2795]
- Prevent LMDB related segfault [#2755, #2761]
- Fix msc_transaction_cleanup function comment typo [#2788]
- Fix: MULTIPART_INVALID_PART connected to wrong internal variable [#2785]
- Restore Unique_id to include random portion after timestamp [#2752, #2758]
Update to version 3.0.7
- Support PCRE2
- Support SecRequestBodyNoFilesLimit
- Add ctl:auditEngine action support
- Move PCRE2 match block from member variable
- Add SecArgumentsLimit, 200007 to modsecurity.conf-recommended
- Fix memory leak when concurrent log includes REMOTE_USER
- Fix LMDB initialization issues
- Fix initcol error message wording
- Tolerate other parameters after boundary in multipart C-T
- Add DebugLog message for bad pattern in rx operator
- Fix misuses of LMDB API
- Fix duplication typo in code comment
- Fix multiMatch msg, etc, population in audit log
- Fix some name handling for ARGS_*NAMES: regex SecRuleUpdateTargetById, etc.
- Adjust confusing variable name in setRequestBody method
- Multipart names/filenames may include single quote if double-quote enclosed
- Add SecRequestBodyJsonDepthLimit to modsecurity.conf-recommended
Update to version 3.0.6
- Security issue: Support configurable limit on depth of JSON parsing, possible DoS issue. CVE-2021-42717
Update to version 3.0.5
- New: Having ARGS_NAMES, variables proxied
- Fix: FILES variable does not use multipart part name for key
- GeoIP: switch to GEOIP_MEMORY_CACHE from GEOIP_INDEX_CACHE
- Support configurable limit on number of arguments processed
- Adds support to lua 5.4
- Add support for new operator rxGlobal
- Fix: Replaces put with setenv in SetEnv action
- Fix: Regex key selection should not be case-sensitive
- Fix: Only delete Multipart tmp files after rules have run
- Fixed MatchedVar on chained rules
- Fix IP address logging in Section A
- Fix: rx: exit after full match (remove /g emulation); ensure capture groups occuring after unused groups still populate TX vars
- Fix rule-update-target for…
- Record
openSUSE-SU-2023:0269-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:13195-1 No score
libmodsecurity3-3.0.10-1.1 on GA media
These are all security issues fixed in the libmodsecurity3-3.0.10-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:13195-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
modsecurityBitnami |
3.0.0 up to 3.0.10 | 3.0.10 |
modsecurity2Bitnami |
3.0.0 up to 3.0.10 | 3.0.10 |
modsecurityDebian:12 |
before 3.0.9-1+deb12u1, plus listed versions 3.0.9-1 |
3.0.9-1+deb12u1 |
modsecurityDebian:13 |
before 3.0.10-1 | 3.0.10-1 |
modsecurityDebian:14 |
before 3.0.10-1 | 3.0.10-1 |
modsecurityUbuntu:20.04:LTS |
All versions, plus listed versions 3.0.3-13.0.4-13.0.4-1build1 |
None known |
modsecurityUbuntu:22.04:LTS |
All versions, plus listed versions 3.0.4-23.0.6-1 |
None known |
modsecurityUbuntu:24.04:LTS |
All versions, plus listed versions 3.0.10-13.0.11-13.0.12-13.0.12-1.1build13.0.12-1.1build2 |
None known |
modsecuritySUSE:Package Hub 15 SP5 From an advisory covering 4 CVEs |
before 3.0.10-bp155.3.3.1 | 3.0.10-bp155.3.3.1 |
modsecurityopenSUSE:Leap 15.5 From an advisory covering 4 CVEs |
before 3.0.10-bp155.3.3.1 | 3.0.10-bp155.3.3.1 |
modsecuritySUSE:Package Hub 15 SP4 From an advisory covering 4 CVEs |
before 3.0.10-bp154.2.3.1 | 3.0.10-bp154.2.3.1 |
modsecurityopenSUSE:Leap 15.4 From an advisory covering 4 CVEs |
before 3.0.10-bp154.2.3.1 | 3.0.10-bp154.2.3.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| aliases | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2023-38285 is a high vulnerability (CVSS 7.5) in Owasp Modsecurity, published July 26, 2023. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.90%, the 59th percentile. Fixed in modsecurity 3.0.10.
References
trustwave.com/en-us/resources/security-resources/software-updates/end-of-sale-and-trustwave-support-for-modsecurity-web-application-firewall
trustwave.com/en-us/resources/blogs/spiderlabs-blog/modsecurity-v3-dos-vulnerability-in-four-transformations-cve-2023-38285
nvd.nist.gov/vuln/detail/CVE-2023-38285
github.com/advisories/GHSA-wf6m-89q7-h9jh
github.com/CVEProject/cvelistV5/tree/main/cves/2023/38xxx/CVE-2023-38285.json
security-tracker.debian.org/tracker/CVE-2023-38285
Show 10 moreShow less
ubuntu.com/security/CVE-2023-38285
cve.org/CVERecord?id=CVE-2023-38285
lists.opensuse.org/archives/list/[email protected]/thread/LIQVEGVX3JPH6JWIVOQVDUI4WMZNSIG4
bugzilla.suse.com/1210993
bugzilla.suse.com/1213702
suse.com/security/cve/CVE-2020-15598
suse.com/security/cve/CVE-2021-42717
suse.com/security/cve/CVE-2023-28882
suse.com/security/cve/CVE-2023-38285
lists.opensuse.org/archives/list/[email protected]/thread/ILAHCTDLNZCBSVGSQN2ZDHVDHYE2OZ2N
Left out here: the rest of 2 source descriptions. The JSON record has them.