CVE-2024-46901
Low · 3.1CVSS
3.1
EPSS
1.9%
Published
Dec 9, 2024
CISA due date
—
Cloudanix analysis
A problem in Subversion's web access method lets authorized users accidentally or deliberately damage shared code repositories, causing headaches for everyone who depends on them.
- Exploitation
- Remote Authenticated
- Attacker needs
- Low Privilege
- Complexity
- Moderate
- Impact
- Denial Of Service
- Component
- Network Service
- Class
- Improper Input Validation
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Insufficient validation of filenames against control characters allows authenticated users with commit access to introduce corrupted revisions via mod_dav_svn.
Why it matters to the business
Disrupts development teams relying on Subversion repositories served over HTTP, leading to repository access issues, lost productivity, and potential recovery work; widespread use of Subversion increases exposure scope.
How an attack unfolds
An attacker with commit privileges to a mod_dav_svn-exposed repository crafts a commit containing filenames with control characters; the server accepts the commit without validation, corrupting the revision and impacting all subsequent users of the repository.
How to fix it
Upgrade Apache Subversion to version 1.14.5 or apply the patch from commit c828a37af875249916a452481cae96df83dc67ea; repositories accessed via methods other than mod_dav_svn require no action.
How to confirm the fix worked
Confirm Subversion version is at least 1.14.5; test by attempting a commit with control-character filenames and verify the revision is rejected or handled safely.
Typical attack path
- Obtain commit access to a target Subversion repository
- Confirm exposure via mod_dav_svn
- Craft and submit a commit using filenames containing control characters
- Observe resulting repository corruption and disruption
How to detect it
Inspect Subversion revision logs and error messages for filenames containing non-printable control characters; monitor for unusual commit failures or checkout errors across affected repositories.
What your security team should do
- Immediately upgrade all mod_dav_svn deployments to Subversion 1.14.5
- Review and restrict commit privileges on exposed repositories
- Scan revision history for evidence of prior corruption attempts
The record
Insufficient validation of filenames against control characters in Apache Subversion repositories served via mod_dav_svn allows authenticated users with commit access to commit a corrupted revision, leading to disruption for users of the repository. All versions of Subversion up to and including Subversion 1.14.4 are affected if serving repositories via mod_dav_svn. Users are recommended to upgrade to version 1.14.5, which fixes this issue. Repositories served via other access methods are not affected.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Alpine:v3.18 | subversion | 0 | 1.14.5-r0 |
| Alpine:v3.19 | subversion | 0 | 1.14.5-r0 |
| Alpine:v3.20 | subversion | 0 | 1.14.5-r0 |
| Alpine:v3.21 | subversion | 0 | 1.14.5-r0 |
| Alpine:v3.22 | subversion | 0 | 1.14.5-r0 |
| Bitnami | subversion | 0 | 1.14.5 |
| Debian:11 | subversion | 0 | No fix |
| Debian:11 | subversion | 0 | 1.14.1-3+deb11u2 |
| Debian:12 | subversion | 0 | No fix |
| Debian:13 | subversion | 0 | 1.14.5-1 |
| Mageia:9 | subversion | 0 | 1.14.2-2.1.mga9 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP5 | subversion | 0 | 1.14.1-150400.5.3.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | subversion | 0 | 1.14.1-150400.5.3.1 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP5 | subversion | 0 | 1.14.1-150400.5.3.1 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP6 | subversion | 0 | 1.14.1-150400.5.3.1 |
| SUSE:Linux Enterprise Module for Server Applications 15 SP5 | subversion | 0 | 1.14.1-150400.5.3.1 |
| SUSE:Linux Enterprise Module for Server Applications 15 SP6 | subversion | 0 | 1.14.1-150400.5.3.1 |
| SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5 | subversion | 0 | 1.10.6-3.9.1 |
| Ubuntu:20.04:LTS | subversion | 0 | No fix |
| Ubuntu:22.04:LTS | subversion | 0 | No fix |
| Ubuntu:24.04:LTS | subversion | 0 | No fix |
| Ubuntu:24.10 | subversion | 0 | No fix |
| Ubuntu:25.04 | subversion | 0 | No fix |
| Ubuntu:25.10 | subversion | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | subversion | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | subversion | 0 | 1.9.3-2ubuntu1.3+esm2 |
| Ubuntu:Pro:18.04:LTS | subversion | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | subversion | 0 | 1.9.7-4ubuntu1.1+esm1 |
| Ubuntu:Pro:20.04:LTS | subversion | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | subversion | 0 | 1.13.0-3ubuntu0.2+esm2 |
| Ubuntu:Pro:22.04:LTS | subversion | 0 | 1.14.1-3ubuntu0.22.04.1+esm1 |
| Ubuntu:Pro:24.04:LTS | subversion | 0 | 1.14.3-1ubuntu0.1~esm1 |
| openSUSE:Leap 15.5 | subversion | 0 | 1.14.1-150400.5.3.1 |
| openSUSE:Leap 15.6 | subversion | 0 | 1.14.1-150400.5.3.1 |
| openSUSE:Tumbleweed | subversion | 0 | 1.14.5-1.1 |
Related vulnerabilities
- CVE-2017-9800 A maliciously constructed svn+ssh:// URL would cause Subversion clients before 1.8.19… Also affects subversion
- CVE-2016-2168 The req_check_access function in the mod_authz_svn module in the httpd server in Apache… Also affects subversion
- CVE-2016-2167 The canonicalize_username function in svnserve/cyrus_auth.c in Apache Subversion before… Also affects subversion
- CVE-2015-5343 Integer overflow in util.c in mod_dav_svn in Apache Subversion 1.7.x, 1.8.x before… Also affects subversion
- CVE-2015-5259 Integer overflow in the read_string function in libsvn_ra_svn/marshal.c in Apache… Also affects subversion
- CVE-2015-0248 The (1) mod_dav_svn and (2) svnserve servers in Subversion 1.6.0 through 1.7.19 and 1.8.0… Also affects subversion
- CVE-2014-3580 The mod_dav_svn Apache HTTPD server module in Apache Subversion 1.x before 1.7.19 and… Also affects subversion
- CVE-2014-0032 The get_resource function in repos.c in the mod_dav_svn module in Apache Subversion… Also affects subversion