Subversion: Arbitrary code execution — GLSA 201709-09

A command injection vulnerability in Subversion may allow remote attackers to execute arbitrary code.

Affected packages

dev-vcs/subversion on all architectures
Affected versions < 1.9.7
Unaffected versions >= 1.9.7
revision > 1.8.18

Background

Subversion is a version control system intended to eventually replace CVS. Like CVS, it has an optional client-server architecture (where the server can be an Apache server running mod_svn, or an ssh program as in CVS’s :ext: method). In addition to supporting the features found in CVS, Subversion also provides support for moving and copying files and directories.

Description

Specially crafted ‘ssh://...’ URLs may allow the owner of the repository to execute arbitrary commands on client’s machine if those commands are already installed on the client’s system. This is especially dangerous when the third-party repository has one or more submodules with specially crafted ‘ssh://...’ URLs. Each time the repository is recursively cloned or submodules are updated the payload will be triggered.

Impact

A remote attacker, by enticing a user to clone a specially crafted repository, could possibly execute arbitrary code with the privileges of the process.

Workaround

There are several alternative ways to fix this vulnerability. Please refer to Subversion Team Announce for more details.

Resolution

All Subversion 1.9.x users should upgrade to the latest version:

 # emerge --sync
 # emerge --ask --oneshot --verbose ">=dev-vcs/subversion-1.9.7"
 

All Subversion 1.8.x users should upgrade to the latest version:

 # emerge --sync
 # emerge --ask --oneshot --verbose ">=dev-vcs/subversion-1.8.18"
 

References

Release date
September 17, 2017

Latest revision
September 17, 2017: 1

Severity
normal

Exploitable
remote

Bugzilla entries