Bug 1247252 (CVE-2015-3187)

Summary: CVE-2015-3187 subversion: svn_repos_trace_node_locations() reveals paths hidden by authz
Product: [Other] Security Response Reporter: Vasyl Kaigorodov <vkaigoro>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED ERRATA QA Contact:
Severity: low Docs Contact:
Priority: low    
Version: unspecifiedCC: jorton, jrusnack, security-response-team, sisharma
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Subversion 1.8.14, Subversion 1.7.21 Doc Type: Bug Fix
Doc Text:
It was found that when an SVN server (both svnserve and httpd with the mod_dav_svn module) searched the history of a file or a directory, it would disclose its location in the repository if that file or directory was not readable (for example, if it had been moved).
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-09-15 06:01:27 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1242733, 1250012, 1250021, 1250880, 1252262    
Bug Blocks: 1247253    
Attachments:
Description Flags
svn1.8.13.patch
none
svn1.7.20.patch none

Description Vasyl Kaigorodov 2015-07-27 16:09:54 UTC
Upstream has reported the below security vulnerability in Subversion:

Summary
=======

  Subversion servers, both httpd and svnserve, will reveal some paths
  that should be hidden by path-based authz.  When a node is copied
  from an unreadable location to a readable location the unreadable
  path may be revealed.  This vulnerablity only reveals the path, it
  does not reveal the contents of the path.

Known vulnerable
================

  Subversion 1.8.0 to 1.8.13
  Subversion 1.7.0 to 1.7.20
  All older versions

Known fixed
===========

  Subversion 1.8.14
  Subversion 1.7.21

Details
=======

  The function svn_repos_trace_node_locations() follows the history of
  a node through earlier revisions and shows any copies.  It should
  stop following history when an unreadable path is encountered but an
  implementation error causes the first unreadable path to be returned
  in some circumstances.  This only reveals the unreadable path, it
  does not reveal the content of the file or directory at that path.
  Any attempts to obtain the content will fail with an authorization
  error.

  Examples:

  1. After copying "unreadable-path" to "readable-path" then following
     the history of "readable-path" may reveal "unreadable-path".

  2. After copying "unreadable/some-path" to "readable/other-path"
     then following the history of "readable/other-path" may reveal
     "unreadable/some-path".

Acknowledgements:

Red Hat would like to thank Apache Software Foundation for reporting this issue. Upstream acknowledges C. Michael Pilato, CollabNet, as the original reporter.

Comment 1 Vasyl Kaigorodov 2015-07-27 16:12:15 UTC
Created attachment 1056678 [details]
svn1.8.13.patch

Comment 2 Vasyl Kaigorodov 2015-07-27 16:12:17 UTC
Created attachment 1056679 [details]
svn1.7.20.patch

Comment 9 Martin Prpič 2015-08-06 08:31:23 UTC
External References:

http://subversion.apache.org/security/CVE-2015-3187-advisory.txt

Comment 10 Martin Prpič 2015-08-06 08:33:36 UTC
Created subversion tracking bugs for this issue:

Affects: fedora-all [bug 1250880]

Comment 12 errata-xmlrpc 2015-08-17 08:11:04 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 6

Via RHSA-2015:1633 https://rhn.redhat.com/errata/RHSA-2015-1633.html

Comment 13 errata-xmlrpc 2015-09-08 13:10:24 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 7

Via RHSA-2015:1742 https://rhn.redhat.com/errata/RHSA-2015-1742.html

Comment 14 Huzaifa S. Sidhpurwala 2015-09-15 06:01:27 UTC
Statement:

This issue affects the version of subversion as shipped with Red Hat Enterprise Linux 5. Red Hat Enterprise Linux 5 is now in Production 3 Phase of the support and maintenance life cycle. This has been rated as having Low security impact and is not currently planned to be addressed in future updates. For additional information, refer to the Red Hat Enterprise Linux Life Cycle: https://access.redhat.com/support/policy/updates/errata/.