Author: stefan2
Date: Tue May 16 18:55:14 2017
New Revision: 1795354

URL: http://svn.apache.org/viewvc?rev=1795354&view=rev
Log:
Add to website FAQ around SHA-1 vulnerability.

Patch by: Jacek Materna <jacek{_AT_}assembla.com> (with tweaks by me)

* publish/faq.html
  (General questions): Add Q about SHA-1 and refer to the answer section.
  (shatterd-sha1): New section.

Modified:
    subversion/site/publish/faq.html

Modified: subversion/site/publish/faq.html
URL: 
http://svn.apache.org/viewvc/subversion/site/publish/faq.html?rev=1795354&r1=1795353&r2=1795354&view=diff
==============================================================================
--- subversion/site/publish/faq.html (original)
+++ subversion/site/publish/faq.html Tue May 16 18:55:14 2017
@@ -61,6 +61,8 @@ For older questions, see <a href="#depre
     list?</a></li>
 <li><a href="#dst-2007">How is Subversion affected by changes
     in Daylight Savings Time (DST)?</a></li>
+<li><a href="#shatterd-sha1">How do I protect my repository from the SHA-1
+    Shattered vulnerability?</a></li>
 </ul>
 
 <h4>How-to:</h4>
@@ -743,6 +745,48 @@ for DST.</p>
 
 </div>
 
+<div class="h3" id="shatterd-sha1">
+<h3>How do I protect my repository from the SHA-1 Shattered vulnerability?
+  <a class="sectionlink" href="#shatterd-sha1"
+    title="Link to this section">&para;</a>
+</h3>
+
+<p>Subversion's use of SHA-1 in how it processes content is subject to hashing
+collisions as identified by <a href="https://shattered.io/";>Google</a>. One of
+Subversions's key assumptions in processing content is that SHA-1 is unique 
for 
+all objects.</p>
+Subversion has two main areas of vulnerability.
+<br/>
+<ul>
+<li>The FS backend (repository) uses SHA-1.</li>
+<li>The Working Copy/RA layers use SHA-1.</li>
+</ul>
+<p>
+The FS layer uses SHA-1 when identifying objects to store in the repository.
+To prevent different content with idential SHA-1 from being stored, upgrade
+to 1.9.6 (which, by default, prevents storing data with such collisions) or
+install the pre-commit hook found <a 
href="https://svn.apache.org/repos/asf/subversion/trunk/tools/hook-scripts/reject-known-sha1-collisions.sh";>
+here</a>. As an aside, we welcome Windows developers to submit a pre-commit 
+script for the Windows platform. More information on submission can be found 
<a 
href="https://subversion.apache.org/docs/community-guide/general.html#patches";>
+here</a>.
+</p>
+<p>
+The working copy/RA layer uses SHA-1 for de-duplication of content stored in 
+the working copy, and for performance reasons clients using the HTTP protocol 
+will avoid fetching content with a SHA-1 checksum which has been fetched 
+previously. There is no known workaround for this vector except to prevent 
+storage of the colliding objects in the first place, via upgrade to 1.9.6 or 
+installation of the aforementioned pre-commit script.
+</p>
+<p>
+Storing content with SHA1 collisions it not a supported use case. If you have 
+repositories with colliding SHA-1 content, we suggest you transform it via
+gzip before committing it to avoid the collision altogether. Moreover an
+upgrade to 1.9.6 to prevent future insertion of duplicates is highly
+recommended.</p>
+
+</div>
+
 </div>
 
 <div class="h2" id="how-to">


Reply via email to