A NULL pointer dereference flaw was found in the way mod_dav_svn handled URIs for virtual transaction names. A remote, unauthenticated attacker could send a request for a virtual transaction name that does not exist, causing mod_dav_svn to crash.
Versions 1.7.0 up to and including 1.7.18, and 1.8.0 up to and including 1.8.10, are affected.
This issue will be fixed in versions 1.7.19 and 1.8.11.
Red Hat would like to thank the Subversion project for reporting this issue. Upstream acknowledges Evgeny Kotkov of VisualSVN as the original reporter.
Created attachment 968772 [details]
1.7.18 patch from upstream
Created attachment 968773 [details]
1.8.10 patch from upstream
Created subversion tracking bugs for this issue:
Affects: fedora-all [bug 1174521]
subversion-1.8.11-1.fc20 has been pushed to the Fedora 20 stable repository. If problems still persist, please make note of it in this bug report.
subversion-1.8.11-1.fc21 has been pushed to the Fedora 21 stable repository. If problems still persist, please make note of it in this bug report.
In functions parse_vtxnstub_uri(), parse_vtxnroot_uri(), prep_working() there are missing sanity checks whether virtual transaction names are legitimate or not, If the Virtual Transaction name is not set or is NULL will cause crash due to NULL pointer dereference.
In function static int
const char *path,
const char *label,
when txt_name is not set or is NULL and following line would cause crash
comb->priv.root.vtxn_name = comb->priv.root.txn_name;
same sanity check is missing at various other places in the code
This issue did not affect the versions of subversion as shipped with Red Hat Enterprise Linux 5 and 6.
This issue has been addressed in the following products:
Red Hat Enterprise Linux 7
Via RHSA-2015:0166 https://rhn.redhat.com/errata/RHSA-2015-0166.html