CVE-2014-3580
NoneCVSS
—
EPSS
11.0%
Published
Dec 18, 2014
CISA due date
—
Cloudanix analysis
An attacker can send a specially crafted request that crashes the version control server, making source code temporarily unavailable until it is restarted.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Trivial
- Impact
- Denial Of Service
- Component
- Network Service
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Null pointer dereference in mod_dav_svn triggered by a REPORT request referencing a non-existent resource, resulting in immediate process termination.
Why it matters to the business
Subversion servers become unavailable until manually restarted, interrupting source code access and build pipelines for organizations still running unpatched 1.x releases.
How an attack unfolds
An unauthenticated remote attacker crafts a REPORT request that targets a path or revision the server does not recognize; the mod_dav_svn handler dereferences a null pointer while processing the request and the httpd worker crashes.
How to fix it
Upgrade Apache Subversion to 1.7.19 or 1.8.11 (or later) and restart the Apache HTTPD service. Where upgrades are not immediately possible, restrict REPORT methods or place the server behind an authenticating proxy.
How to confirm the fix worked
Confirm the installed Subversion version is at least 1.7.19 or 1.8.11; attempt the same REPORT request in a test environment and verify the server no longer terminates.
Typical attack path
- Locate an Apache HTTPD instance exposing Subversion repositories via mod_dav_svn
- Issue a crafted REPORT request for a non-existent resource or revision
- Observe server crash and repeated restarts or service degradation
How to detect it
Review Apache error logs for segmentation faults or abort signals originating from mod_dav_svn worker processes immediately following REPORT requests; correlate with access logs showing requests to non-existent paths or revisions.
- mod_dav_svn.*null pointer
- segfault.*dav_svn
- REPORT.*404.*mod_dav_svn
What your security team should do
- Prioritize upgrade of all internet-facing Subversion servers to the fixed releases
- Add mod_dav_svn version checks to vulnerability scanning and asset inventory
- Monitor httpd error logs for segmentation faults or null dereference messages tied to mod_dav_svn
The record
The mod_dav_svn Apache HTTPD server module in Apache Subversion 1.x before 1.7.19 and 1.8.x before 1.8.11 allows remote attackers to cause a denial of service (NULL pointer dereference and server crash) via a REPORT request for a resource that does not exist.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | subversion | 0 | 1.8.10-5 |
| Debian:12 | subversion | 0 | 1.8.10-5 |
| Debian:13 | subversion | 0 | 1.8.10-5 |
| Debian:6.0 | subversion | 0 | 1.6.12dfsg-7+deb6u1 |
| Debian:7 | subversion | 0 | 1.6.17dfsg-4+deb7u7 |
| Mageia:4 | subversion | 0 | 1.8.11-1.mga4 |
| Red Hat:enterprise_linux:6::client | mod_dav_svn | 0 | 0:1.6.11-12.el6_6 |
| Red Hat:enterprise_linux:6::client | subversion | 0 | 0:1.6.11-12.el6_6 |
| Red Hat:enterprise_linux:6::client | subversion-debuginfo | 0 | 0:1.6.11-12.el6_6 |
| Red Hat:enterprise_linux:6::client | subversion-devel | 0 | 0:1.6.11-12.el6_6 |
| Red Hat:enterprise_linux:6::client | subversion-gnome | 0 | 0:1.6.11-12.el6_6 |
| Red Hat:enterprise_linux:6::client | subversion-javahl | 0 | 0:1.6.11-12.el6_6 |
| Red Hat:enterprise_linux:6::client | subversion-kde | 0 | 0:1.6.11-12.el6_6 |
| Red Hat:enterprise_linux:6::client | subversion-perl | 0 | 0:1.6.11-12.el6_6 |
| Red Hat:enterprise_linux:6::client | subversion-ruby | 0 | 0:1.6.11-12.el6_6 |
| Red Hat:enterprise_linux:6::client | subversion-svn2cl | 0 | 0:1.6.11-12.el6_6 |
| Red Hat:enterprise_linux:6::computenode | mod_dav_svn | 0 | 0:1.6.11-12.el6_6 |
| Red Hat:enterprise_linux:6::computenode | subversion | 0 | 0:1.6.11-12.el6_6 |
| Red Hat:enterprise_linux:6::computenode | subversion-debuginfo | 0 | 0:1.6.11-12.el6_6 |
| Red Hat:enterprise_linux:6::computenode | subversion-devel | 0 | 0:1.6.11-12.el6_6 |
| Red Hat:enterprise_linux:6::computenode | subversion-gnome | 0 | 0:1.6.11-12.el6_6 |
| Red Hat:enterprise_linux:6::computenode | subversion-javahl | 0 | 0:1.6.11-12.el6_6 |
| Red Hat:enterprise_linux:6::computenode | subversion-kde | 0 | 0:1.6.11-12.el6_6 |
| Red Hat:enterprise_linux:6::computenode | subversion-perl | 0 | 0:1.6.11-12.el6_6 |
| Red Hat:enterprise_linux:6::computenode | subversion-ruby | 0 | 0:1.6.11-12.el6_6 |
| Red Hat:enterprise_linux:6::computenode | subversion-svn2cl | 0 | 0:1.6.11-12.el6_6 |
| Red Hat:enterprise_linux:6::server | mod_dav_svn | 0 | 0:1.6.11-12.el6_6 |
| Red Hat:enterprise_linux:6::server | subversion | 0 | 0:1.6.11-12.el6_6 |
| Red Hat:enterprise_linux:6::server | subversion-debuginfo | 0 | 0:1.6.11-12.el6_6 |
| Red Hat:enterprise_linux:6::server | subversion-devel | 0 | 0:1.6.11-12.el6_6 |
| Red Hat:enterprise_linux:6::server | subversion-gnome | 0 | 0:1.6.11-12.el6_6 |
| Red Hat:enterprise_linux:6::server | subversion-javahl | 0 | 0:1.6.11-12.el6_6 |
| Red Hat:enterprise_linux:6::server | subversion-kde | 0 | 0:1.6.11-12.el6_6 |
| Red Hat:enterprise_linux:6::server | subversion-perl | 0 | 0:1.6.11-12.el6_6 |
| Red Hat:enterprise_linux:6::server | subversion-ruby | 0 | 0:1.6.11-12.el6_6 |
| Red Hat:enterprise_linux:6::server | subversion-svn2cl | 0 | 0:1.6.11-12.el6_6 |
| Red Hat:enterprise_linux:6::workstation | mod_dav_svn | 0 | 0:1.6.11-12.el6_6 |
| Red Hat:enterprise_linux:6::workstation | subversion | 0 | 0:1.6.11-12.el6_6 |
| Red Hat:enterprise_linux:6::workstation | subversion-debuginfo | 0 | 0:1.6.11-12.el6_6 |
| Red Hat:enterprise_linux:6::workstation | subversion-devel | 0 | 0:1.6.11-12.el6_6 |
| Red Hat:enterprise_linux:6::workstation | subversion-gnome | 0 | 0:1.6.11-12.el6_6 |
| Red Hat:enterprise_linux:6::workstation | subversion-javahl | 0 | 0:1.6.11-12.el6_6 |
| Red Hat:enterprise_linux:6::workstation | subversion-kde | 0 | 0:1.6.11-12.el6_6 |
| Red Hat:enterprise_linux:6::workstation | subversion-perl | 0 | 0:1.6.11-12.el6_6 |
| Red Hat:enterprise_linux:6::workstation | subversion-ruby | 0 | 0:1.6.11-12.el6_6 |
| Red Hat:enterprise_linux:6::workstation | subversion-svn2cl | 0 | 0:1.6.11-12.el6_6 |
| Red Hat:enterprise_linux:7::client | mod_dav_svn | 0 | 0:1.7.14-7.el7_0 |
| Red Hat:enterprise_linux:7::client | subversion | 0 | 0:1.7.14-7.el7_0 |
| Red Hat:enterprise_linux:7::client | subversion-debuginfo | 0 | 0:1.7.14-7.el7_0 |
| Red Hat:enterprise_linux:7::client | subversion-devel | 0 | 0:1.7.14-7.el7_0 |
| Red Hat:enterprise_linux:7::client | subversion-gnome | 0 | 0:1.7.14-7.el7_0 |
| Red Hat:enterprise_linux:7::client | subversion-javahl | 0 | 0:1.7.14-7.el7_0 |
| Red Hat:enterprise_linux:7::client | subversion-kde | 0 | 0:1.7.14-7.el7_0 |
| Red Hat:enterprise_linux:7::client | subversion-libs | 0 | 0:1.7.14-7.el7_0 |
| Red Hat:enterprise_linux:7::client | subversion-perl | 0 | 0:1.7.14-7.el7_0 |
| Red Hat:enterprise_linux:7::client | subversion-python | 0 | 0:1.7.14-7.el7_0 |
| Red Hat:enterprise_linux:7::client | subversion-ruby | 0 | 0:1.7.14-7.el7_0 |
| Red Hat:enterprise_linux:7::client | subversion-tools | 0 | 0:1.7.14-7.el7_0 |
| Red Hat:enterprise_linux:7::computenode | mod_dav_svn | 0 | 0:1.7.14-7.el7_0 |
| Red Hat:enterprise_linux:7::computenode | subversion | 0 | 0:1.7.14-7.el7_0 |
| Red Hat:enterprise_linux:7::computenode | subversion-debuginfo | 0 | 0:1.7.14-7.el7_0 |
| Red Hat:enterprise_linux:7::computenode | subversion-devel | 0 | 0:1.7.14-7.el7_0 |
| Red Hat:enterprise_linux:7::computenode | subversion-gnome | 0 | 0:1.7.14-7.el7_0 |
| Red Hat:enterprise_linux:7::computenode | subversion-javahl | 0 | 0:1.7.14-7.el7_0 |
| Red Hat:enterprise_linux:7::computenode | subversion-kde | 0 | 0:1.7.14-7.el7_0 |
| Red Hat:enterprise_linux:7::computenode | subversion-libs | 0 | 0:1.7.14-7.el7_0 |
| Red Hat:enterprise_linux:7::computenode | subversion-perl | 0 | 0:1.7.14-7.el7_0 |
| Red Hat:enterprise_linux:7::computenode | subversion-python | 0 | 0:1.7.14-7.el7_0 |
| Red Hat:enterprise_linux:7::computenode | subversion-ruby | 0 | 0:1.7.14-7.el7_0 |
| Red Hat:enterprise_linux:7::computenode | subversion-tools | 0 | 0:1.7.14-7.el7_0 |
| Red Hat:enterprise_linux:7::server | mod_dav_svn | 0 | 0:1.7.14-7.el7_0 |
| Red Hat:enterprise_linux:7::server | subversion | 0 | 0:1.7.14-7.el7_0 |
| Red Hat:enterprise_linux:7::server | subversion-debuginfo | 0 | 0:1.7.14-7.el7_0 |
| Red Hat:enterprise_linux:7::server | subversion-devel | 0 | 0:1.7.14-7.el7_0 |
| Red Hat:enterprise_linux:7::server | subversion-gnome | 0 | 0:1.7.14-7.el7_0 |
| Red Hat:enterprise_linux:7::server | subversion-javahl | 0 | 0:1.7.14-7.el7_0 |
| Red Hat:enterprise_linux:7::server | subversion-kde | 0 | 0:1.7.14-7.el7_0 |
| Red Hat:enterprise_linux:7::server | subversion-libs | 0 | 0:1.7.14-7.el7_0 |
| Red Hat:enterprise_linux:7::server | subversion-perl | 0 | 0:1.7.14-7.el7_0 |
| Red Hat:enterprise_linux:7::server | subversion-python | 0 | 0:1.7.14-7.el7_0 |
| Red Hat:enterprise_linux:7::server | subversion-ruby | 0 | 0:1.7.14-7.el7_0 |
| Red Hat:enterprise_linux:7::server | subversion-tools | 0 | 0:1.7.14-7.el7_0 |
| Red Hat:enterprise_linux:7::workstation | mod_dav_svn | 0 | 0:1.7.14-7.el7_0 |
| Red Hat:enterprise_linux:7::workstation | subversion | 0 | 0:1.7.14-7.el7_0 |
| Red Hat:enterprise_linux:7::workstation | subversion-debuginfo | 0 | 0:1.7.14-7.el7_0 |
| Red Hat:enterprise_linux:7::workstation | subversion-devel | 0 | 0:1.7.14-7.el7_0 |
| Red Hat:enterprise_linux:7::workstation | subversion-gnome | 0 | 0:1.7.14-7.el7_0 |
| Red Hat:enterprise_linux:7::workstation | subversion-javahl | 0 | 0:1.7.14-7.el7_0 |
| Red Hat:enterprise_linux:7::workstation | subversion-kde | 0 | 0:1.7.14-7.el7_0 |
| Red Hat:enterprise_linux:7::workstation | subversion-libs | 0 | 0:1.7.14-7.el7_0 |
| Red Hat:enterprise_linux:7::workstation | subversion-perl | 0 | 0:1.7.14-7.el7_0 |
| Red Hat:enterprise_linux:7::workstation | subversion-python | 0 | 0:1.7.14-7.el7_0 |
| Red Hat:enterprise_linux:7::workstation | subversion-ruby | 0 | 0:1.7.14-7.el7_0 |
| Red Hat:enterprise_linux:7::workstation | subversion-tools | 0 | 0:1.7.14-7.el7_0 |
| SUSE:Linux Enterprise Software Development Kit 12 SP2 | subversion | 0 | 1.8.19-25.3.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP3 | subversion | 0 | 1.8.19-25.3.1 |
| Ubuntu:14.04:LTS | subversion | 0 | 1.8.8-1ubuntu3.2 |
| openSUSE:Tumbleweed | subversion | 0 | 1.9.5-1.1 |
Related vulnerabilities
- CVE-2024-46901 Insufficient validation of filenames against control characters in Apache Subversion… Also affects subversion
- 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-0032 The get_resource function in repos.c in the mod_dav_svn module in Apache Subversion… Also affects subversion