Author: dsahlberg
Date: Sun Dec 8 23:35:01 2024
New Revision: 1922381
URL: http://svn.apache.org/viewvc?rev=1922381&view=rev
Log:
In site/staging:
Prepare for 1.14.5
* doap.rdf,
docs/release-notes/release-history.html,
download.html,
index.html,
news.html: Update for the 1.14.5 release
* security/CVE-2024-46901-advisory.txt,
staging/security/CVE-2024-46901-advisory.txt.asc: New
* staging/security/index.html: Add CVE-2024-46901
Added:
subversion/site/staging/security/CVE-2024-46901-advisory.txt
subversion/site/staging/security/CVE-2024-46901-advisory.txt.asc
Modified:
subversion/site/staging/doap.rdf
subversion/site/staging/docs/release-notes/release-history.html
subversion/site/staging/download.html
subversion/site/staging/index.html
subversion/site/staging/news.html
subversion/site/staging/security/index.html
Modified: subversion/site/staging/doap.rdf
URL:
http://svn.apache.org/viewvc/subversion/site/staging/doap.rdf?rev=1922381&r1=1922380&r2=1922381&view=diff
==============================================================================
--- subversion/site/staging/doap.rdf (original)
+++ subversion/site/staging/doap.rdf Sun Dec 8 23:35:01 2024
@@ -37,8 +37,8 @@
<release>
<Version>
<name>Current 1.14 LTS release</name>
- <created>2024-10-08</created>
- <revision>1.14.4</revision>
+ <created>2024-12-08</created>
+ <revision>1.14.5</revision>
</Version>
</release>
<repository>
Modified: subversion/site/staging/docs/release-notes/release-history.html
URL:
http://svn.apache.org/viewvc/subversion/site/staging/docs/release-notes/release-history.html?rev=1922381&r1=1922380&r2=1922381&view=diff
==============================================================================
--- subversion/site/staging/docs/release-notes/release-history.html (original)
+++ subversion/site/staging/docs/release-notes/release-history.html Sun Dec 8
23:35:01 2024
@@ -32,6 +32,9 @@ Subversion 2.0.</p>
<ul>
<li>
+ <b>Subversion 1.14.5</b> (Sunday, 8 December 2024): Bugfix/security
release.
+ </li>
+ <li>
<b>Subversion 1.14.4</b> (Tuesday, 8 October 2024): Bugfix/security
release.
</li>
<li>
Modified: subversion/site/staging/download.html
URL:
http://svn.apache.org/viewvc/subversion/site/staging/download.html?rev=1922381&r1=1922380&r2=1922381&view=diff
==============================================================================
--- subversion/site/staging/download.html (original)
+++ subversion/site/staging/download.html Sun Dec 8 23:35:01 2024
@@ -95,7 +95,7 @@ Other mirrors:
title="Link to this section">¶</a>
</h3>
-<p style="font-size: 150%; text-align: center;">Apache Subversion 1.14.4
LTS</p>
+<p style="font-size: 150%; text-align: center;">Apache Subversion 1.14.5
LTS</p>
<table class="centered">
<tr>
<th>File</th>
@@ -104,20 +104,20 @@ Other mirrors:
<th>PGP Public Keys</th>
</tr>
<tr>
- <td><a
href="[preferred]subversion/subversion-1.14.4.tar.bz2">subversion-1.14.4.tar.bz2</a></td>
- <td>[<a
href="https://www.apache.org/dist/subversion/subversion-1.14.4.tar.bz2.sha512">SHA-512</a>]</td>
- <td>[<a
href="https://www.apache.org/dist/subversion/subversion-1.14.4.tar.bz2.asc">PGP
signatures</a>]</td>
- <td>[<a
href="https://www.apache.org/dist/subversion/subversion-1.14.4.KEYS">PGP
keyring</a>]</td>
+ <td><a
href="[preferred]subversion/subversion-1.14.5.tar.bz2">subversion-1.14.5.tar.bz2</a></td>
+ <td>[<a
href="https://www.apache.org/dist/subversion/subversion-1.14.5.tar.bz2.sha512">SHA-512</a>]</td>
+ <td>[<a
href="https://www.apache.org/dist/subversion/subversion-1.14.5.tar.bz2.asc">PGP
signatures</a>]</td>
+ <td>[<a
href="https://www.apache.org/dist/subversion/subversion-1.14.5.KEYS">PGP
keyring</a>]</td>
</tr><tr>
- <td><a
href="[preferred]subversion/subversion-1.14.4.tar.gz">subversion-1.14.4.tar.gz</a></td>
- <td>[<a
href="https://www.apache.org/dist/subversion/subversion-1.14.4.tar.gz.sha512">SHA-512</a>]</td>
- <td>[<a
href="https://www.apache.org/dist/subversion/subversion-1.14.4.tar.gz.asc">PGP
signatures</a>]</td>
- <td>[<a
href="https://www.apache.org/dist/subversion/subversion-1.14.4.KEYS">PGP
keyring</a>]</td>
+ <td><a
href="[preferred]subversion/subversion-1.14.5.tar.gz">subversion-1.14.5.tar.gz</a></td>
+ <td>[<a
href="https://www.apache.org/dist/subversion/subversion-1.14.5.tar.gz.sha512">SHA-512</a>]</td>
+ <td>[<a
href="https://www.apache.org/dist/subversion/subversion-1.14.5.tar.gz.asc">PGP
signatures</a>]</td>
+ <td>[<a
href="https://www.apache.org/dist/subversion/subversion-1.14.5.KEYS">PGP
keyring</a>]</td>
</tr><tr>
- <td><a
href="[preferred]subversion/subversion-1.14.4.zip">subversion-1.14.4.zip</a></td>
- <td>[<a
href="https://www.apache.org/dist/subversion/subversion-1.14.4.zip.sha512">SHA-512</a>]</td>
- <td>[<a
href="https://www.apache.org/dist/subversion/subversion-1.14.4.zip.asc">PGP
signatures</a>]</td>
- <td>[<a
href="https://www.apache.org/dist/subversion/subversion-1.14.4.KEYS">PGP
keyring</a>]</td>
+ <td><a
href="[preferred]subversion/subversion-1.14.5.zip">subversion-1.14.5.zip</a></td>
+ <td>[<a
href="https://www.apache.org/dist/subversion/subversion-1.14.5.zip.sha512">SHA-512</a>]</td>
+ <td>[<a
href="https://www.apache.org/dist/subversion/subversion-1.14.5.zip.asc">PGP
signatures</a>]</td>
+ <td>[<a
href="https://www.apache.org/dist/subversion/subversion-1.14.5.KEYS">PGP
keyring</a>]</td>
</tr>
</table>
Modified: subversion/site/staging/index.html
URL:
http://svn.apache.org/viewvc/subversion/site/staging/index.html?rev=1922381&r1=1922380&r2=1922381&view=diff
==============================================================================
--- subversion/site/staging/index.html (original)
+++ subversion/site/staging/index.html Sun Dec 8 23:35:01 2024
@@ -70,6 +70,31 @@
<!-- In general, we'll keep only the most recent 3 or 4 news items here. -->
+<div class="h3" id="news-20241208">
+<h3>2024-12-08 — Apache Subversion 1.14.5 Released
+ <a class="sectionlink" href="#news-20241208"
+ title="Link to this section">¶</a>
+</h3>
+
+<p>We are pleased to announce the release of Apache Subversion 1.14.5.</p>
+<p>
+This release contains a fix for a security issue:
+ <a href="/security/CVE-2024-46901-advisory.txt">CVE-2024-46901</a>
+</p>
+<p>
+ This is the most complete Subversion release to date, and we encourage
+ users of Subversion to upgrade as soon as reasonable.
+ Please see the
+<!-- until release announcement e-mail <a
href="https://lists.apache.org/thread/glvmq598wv71thrd9vmbm0q5w6n3124w"
+ >release announcement</a> and the -->
+ <a href="/docs/release-notes/1.14"
+ >release notes</a> for more information about this release.</p>
+
+<p>To get this release from the nearest mirror, please visit our
+ <a href="/download.cgi#recommended-release">download page</a>.</p>
+
+</div> <!-- #news-20241208 -->
+
<div class="h3" id="news-20241008">
<h3>2024-10-08 — Apache Subversion 1.14.4 Released
<a class="sectionlink" href="#news-20241008"
@@ -115,24 +140,6 @@ This release contains a fix for a securi
</div> <!-- #news-20231228-1.14.3 -->
-<div class="h3" id="news-20230924">
-<h3>2023-09-24 — Apache Subversion 1.10.x end of life
- <a class="sectionlink" href="#news-20230924"
- title="Link to this section">¶</a>
-</h3>
-
-<p>The Subversion 1.10.x line is end of life (<abbr title="End Of
Life">EOL</abbr>).
-It was released on 2018-04-13 and was supported for the last four years
-according to the LTS release life-cycle (see <a
-href="/roadmap.html#release-planning">How we plan
-releases</a>). We recommend everyone to update to the current LTS release <a
-href="/download.cgi#recommended-release">1.14.2</a> as soon as practically
-possible since we've stopped accepting bug reports against 1.10.x and will not
-make any more 1.10.x releases. The last 1.10.x release (1.10.8) was made
-on 2022-04-12 and is available to anyone who can't update to 1.14.</p>
-
-</div> <!-- news-20230924 -->
-
<p style="font-style: italic; text-align:
right;">[Click <a href="/news.html">here</a> to see all News
items.]</p>
Modified: subversion/site/staging/news.html
URL:
http://svn.apache.org/viewvc/subversion/site/staging/news.html?rev=1922381&r1=1922380&r2=1922381&view=diff
==============================================================================
--- subversion/site/staging/news.html (original)
+++ subversion/site/staging/news.html Sun Dec 8 23:35:01 2024
@@ -26,6 +26,31 @@
<!-- Maybe we could insert H2's to split up the news items by -->
<!-- calendar year if we felt the need to do so. -->
+<div class="h3" id="news-20241208">
+<h3>2024-12-08 — Apache Subversion 1.14.5 Released
+ <a class="sectionlink" href="#news-20241208"
+ title="Link to this section">¶</a>
+</h3>
+
+<p>We are pleased to announce the release of Apache Subversion 1.14.5.</p>
+<p>
+This release contains a fix for a security issue:
+ <a href="/security/CVE-2024-46901-advisory.txt">CVE-2024-46901</a>
+</p>
+<p>
+ This is the most complete Subversion release to date, and we encourage
+ users of Subversion to upgrade as soon as reasonable.
+ Please see the
+<!-- until e-mail <a
href="https://lists.apache.org/thread/glvmq598wv71thrd9vmbm0q5w6n3124w"
+ >release announcement</a> and the -->
+ <a href="/docs/release-notes/1.14"
+ >release notes</a> for more information about this release.</p>
+
+<p>To get this release from the nearest mirror, please visit our
+ <a href="/download.cgi#recommended-release">download page</a>.</p>
+
+</div> <!-- #news-20241208 -->
+
<div class="h3" id="news-20241008">
<h3>2024-10-08 — Apache Subversion 1.14.4 Released
<a class="sectionlink" href="#news-20241008"
Added: subversion/site/staging/security/CVE-2024-46901-advisory.txt
URL:
http://svn.apache.org/viewvc/subversion/site/staging/security/CVE-2024-46901-advisory.txt?rev=1922381&view=auto
==============================================================================
--- subversion/site/staging/security/CVE-2024-46901-advisory.txt (added)
+++ subversion/site/staging/security/CVE-2024-46901-advisory.txt Sun Dec 8
23:35:01 2024
@@ -0,0 +1,253 @@
+ mod_dav_svn denial-of-service via control characters in paths
+
+Summary:
+========
+
+ It has been discovered that the patch for CVE-2013-1968 was incomplete
+ and unintentionally left mod_dav_svn vulnerable to control characters
+ in filenames.
+
+ If a path or a revision-property which contains control characters is
+ committed to a repository then SVN operations served by mod_dav_svn
+ can be disrupted.
+
+Known vulnerable:
+=================
+
+ Subversion mod_dav_svn servers through 1.14.4 (inclusive).
+
+Known fixed:
+============
+
+ Servers running Subversion 1.14.5
+
+Details:
+========
+
+ If a path which contains control characters is committed to a repository
+ then SVN operations served by mod_dav_svn can be disrupted by encoding
+ errors raised from the XML library.
+
+ This leads to disruption for users accessing the repository via HTTP.
+ Affected repositories can be repaired (see "Recommendations" below).
+ However, restoring proper operation might take some time because a
+ full dump/load cycle may be required.
+
+ Local repositories and svnserve repository servers (accessed via a
+ file://, svn://, or svn+ssh:// URL) are not affected. In these cases,
+ control characters have been rejected since CVE-2013-1968 was patched
+ in Subversion 1.6.21 and Subversion 1.7.9.
+
+ Known symptoms of the problem include:
+
+ 1) 'svn checkout', 'svnsync', and other operations that attempt to
+ read the affected revision may produce errors like:
+
+ svn: E175009: The XML response contains invalid XML
+ svn: E130003: Malformed XML: not well-formed (invalid token)
+
+ 2) Attempts to browse affected files or directories via the web
+ interface will cause the server to return:
+
+ 500 Internal Server Error
+
+ Apache Subversion clients have always rejected filenames with control
+ characters, so control characters cannot be introduced with stock
+ Subversion clients. They could, however, be triggered by custom
+ malicious Subversion clients or by third-party client implementations.
+
+ Servers updated to Subversion 1.14.5 will reject control characters in
+ all cases.
+
+Severity:
+=========
+
+ CVSSv3.1 Base Score: 3.1
+ CVSSv3.1 Base Vector: CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:L
+
+ A remote authenticated attacker with commit access may be able to
+ corrupt repositories on a Subversion server and cause disruption for
+ other users.
+
+ Configurations that allow anonymous write access to the repository
+ will be vulnerable to this without authentication.
+
+Recommendations:
+================
+
+ We recommend all users to upgrade their servers to a known fixed
+ release of Subversion.
+
+ Users who are unable to upgrade may apply the patch included below.
+
+ New Subversion packages can be found at:
+ http://subversion.apache.org/packages.html
+
+ Repositories affected by this problem can be repaired manually:
+
+ Bad revision properties can be repaired by using svn propedit over
+ the file://, svn:// or svn+ssh:// protocols.
+
+ Bad paths which have entered a repository need to be removed from
+ history with a dump/load cycle, using svnadmin dump --exclude to
+ filter out the bad paths, and loading the result into a fresh
+ repository with svnadmin load.
+
+References:
+===========
+
+ CVE-2024-46901 (Subversion)
+ CVE-2013-1968 (Subversion)
+
+ XML Characters: https://www.w3.org/TR/xml/#charsets
+
+Reported by:
+============
+
+ HaoZi, WordPress China
+
+Patches:
+========
+
+ Patch against Subversion 1.14.4:
+
+[[[
+Index: subversion/include/private/svn_repos_private.h
+===================================================================
+--- subversion/include/private/svn_repos_private.h (revision 1921550)
++++ subversion/include/private/svn_repos_private.h (working copy)
+@@ -390,6 +390,14 @@ svn_repos__get_dump_editor(const svn_delta_editor_
+ const char *update_anchor_relpath,
+ apr_pool_t *pool);
+
++/* Validate that the given PATH is a valid pathname that can be stored in
++ * a Subversion repository, according to the name constraints used by the
++ * svn_repos_* layer.
++ */
++svn_error_t *
++svn_repos__validate_new_path(const char *path,
++ apr_pool_t *scratch_pool);
++
+ #ifdef __cplusplus
+ }
+ #endif /* __cplusplus */
+Index: subversion/libsvn_repos/commit.c
+===================================================================
+--- subversion/libsvn_repos/commit.c (revision 1921550)
++++ subversion/libsvn_repos/commit.c (working copy)
+@@ -308,8 +308,7 @@ add_file_or_directory(const char *path,
+ svn_boolean_t was_copied = FALSE;
+ const char *full_path, *canonicalized_path;
+
+- /* Reject paths which contain control characters (related to issue #4340).
*/
+- SVN_ERR(svn_path_check_valid(path, pool));
++ SVN_ERR(svn_repos__validate_new_path(path, pool));
+
+ SVN_ERR(svn_relpath_canonicalize_safe(&canonicalized_path, NULL, path,
+ pool, pool));
+Index: subversion/libsvn_repos/repos.c
+===================================================================
+--- subversion/libsvn_repos/repos.c (revision 1921550)
++++ subversion/libsvn_repos/repos.c (working copy)
+@@ -2092,3 +2092,13 @@ svn_repos__fs_type(const char **fs_type,
+ svn_dirent_join(repos_path, SVN_REPOS__DB_DIR, pool),
+ pool);
+ }
++
++svn_error_t *
++svn_repos__validate_new_path(const char *path,
++ apr_pool_t *scratch_pool)
++{
++ /* Reject paths which contain control characters (related to issue #4340).
*/
++ SVN_ERR(svn_path_check_valid(path, scratch_pool));
++
++ return SVN_NO_ERROR;
++}
+Index: subversion/mod_dav_svn/lock.c
+===================================================================
+--- subversion/mod_dav_svn/lock.c (revision 1921550)
++++ subversion/mod_dav_svn/lock.c (working copy)
+@@ -36,6 +36,7 @@
+ #include "svn_pools.h"
+ #include "svn_props.h"
+ #include "private/svn_log.h"
++#include "private/svn_repos_private.h"
+
+ #include "dav_svn.h"
+
+@@ -717,6 +718,12 @@ append_locks(dav_lockdb *lockdb,
+
+ /* Commit a 0-byte file: */
+
++ if ((serr = svn_repos__validate_new_path(resource->info->repos_path,
++ resource->pool)))
++ return dav_svn__convert_err(serr, HTTP_BAD_REQUEST,
++ "Request specifies an invalid path.",
++ resource->pool);
++
+ if ((serr = dav_svn__get_youngest_rev(&rev, repos, resource->pool)))
+ return dav_svn__convert_err(serr, HTTP_INTERNAL_SERVER_ERROR,
+ "Could not determine youngest revision",
+Index: subversion/mod_dav_svn/repos.c
+===================================================================
+--- subversion/mod_dav_svn/repos.c (revision 1921550)
++++ subversion/mod_dav_svn/repos.c (working copy)
+@@ -2928,6 +2928,16 @@ open_stream(const dav_resource *resource,
+
+ if (kind == svn_node_none) /* No existing file. */
+ {
++ serr = svn_repos__validate_new_path(resource->info->repos_path,
++ resource->pool);
++
++ if (serr != NULL)
++ {
++ return dav_svn__convert_err(serr, HTTP_BAD_REQUEST,
++ "Request specifies an invalid path.",
++ resource->pool);
++ }
++
+ serr = svn_fs_make_file(resource->info->root.root,
+ resource->info->repos_path,
+ resource->pool);
+@@ -4120,6 +4130,14 @@ create_collection(dav_resource *resource)
+ return err;
+ }
+
++ if ((serr = svn_repos__validate_new_path(resource->info->repos_path,
++ resource->pool)) != NULL)
++ {
++ return dav_svn__convert_err(serr, HTTP_BAD_REQUEST,
++ "Request specifies an invalid path.",
++ resource->pool);
++ }
++
+ if ((serr = svn_fs_make_dir(resource->info->root.root,
+ resource->info->repos_path,
+ resource->pool)) != NULL)
+@@ -4194,6 +4212,12 @@ copy_resource(const dav_resource *src,
+ return err;
+ }
+
++ serr = svn_repos__validate_new_path(dst->info->repos_path, dst->pool);
++ if (serr)
++ return dav_svn__convert_err(serr, HTTP_BAD_REQUEST,
++ "Request specifies an invalid path.",
++ dst->pool);
++
+ src_repos_path = svn_repos_path(src->info->repos->repos, src->pool);
+ dst_repos_path = svn_repos_path(dst->info->repos->repos, dst->pool);
+
+@@ -4430,6 +4454,12 @@ move_resource(dav_resource *src,
+ if (err)
+ return err;
+
++ serr = svn_repos__validate_new_path(dst->info->repos_path, dst->pool);
++ if (serr)
++ return dav_svn__convert_err(serr, HTTP_BAD_REQUEST,
++ "Request specifies an invalid path.",
++ dst->pool);
++
+ /* Copy the src to the dst. */
+ serr = svn_fs_copy(src->info->root.root, /* the root object of src rev*/
+ src->info->repos_path, /* the relative path of src */
+]]]
Added: subversion/site/staging/security/CVE-2024-46901-advisory.txt.asc
URL:
http://svn.apache.org/viewvc/subversion/site/staging/security/CVE-2024-46901-advisory.txt.asc?rev=1922381&view=auto
==============================================================================
--- subversion/site/staging/security/CVE-2024-46901-advisory.txt.asc (added)
+++ subversion/site/staging/security/CVE-2024-46901-advisory.txt.asc Sun Dec 8
23:35:01 2024
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+
+iHUEABYKAB0WIQR9yKe/N0eP9I4z6F4rSCK0tjQLrAUCZ1Yo9AAKCRArSCK0tjQL
+rPznAPsFjMzG+SF0V/4RR5VohLUvtFrEj9I3mvQJufuJKLtP0AD/S2PmUZG00oTU
+INC5C/f+owxGwf77W9cdJzKpzXq1PAw=
+=dHDH
+-----END PGP SIGNATURE-----
Modified: subversion/site/staging/security/index.html
URL:
http://svn.apache.org/viewvc/subversion/site/staging/security/index.html?rev=1922381&r1=1922380&r2=1922381&view=diff
==============================================================================
--- subversion/site/staging/security/index.html (original)
+++ subversion/site/staging/security/index.html Sun Dec 8 23:35:01 2024
@@ -339,6 +339,13 @@ clients using http(s)://</td>
<td>Subversion command line argument injection on Windows platforms</td>
</tr>
+<tr>
+ <td><a href="CVE-2024-46901-advisory.txt">CVE-2024-46901-advisory.txt</a>
+ [<a href="CVE-2024-46901-advisory.txt.asc">PGP</a>]</td>
+ <td>1.0.0-1.14.4</td>
+ <td>mod_dav_svn denial-of-service via control characters in paths</td>
+</tr>
+
</tbody>
</table>