[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Progress on SHA-1 fixes in patch releases?

From: Daniel Shahaf <d.s_at_daniel.shahaf.name>
Date: Tue, 18 Apr 2017 00:54:20 +0000

Stefan Fuhrmann wrote on Mon, Apr 17, 2017 at 22:17:46 +0200:
> On 30.03.2017 21:38, Daniel Shahaf wrote:
> >Let's use jira or moinmoin to track all the different issues that need
> >looking into? I count at least fsfs, fsx, svnadmin load, libsvn_wc, and
> >zhakov's change that Bert mentioned.
> What is the problem with 'svnadmin load'?

It's not possible to load a dumpfile that contains a sha1 collision:

% wget https://shattered.it/static/shattered-1.pdf https://shattered.it/static/shattered-2.pdf
% svnadmin create r
% svn co file://$PWD/r wc
% cd wc
wc% cp ../shattered-* .
wc% svn add *
wc% svn ci -madd
wc% cd ../
% svnadmin create r2
% svnadmin dump -r > dump
% svnadmin load r2 < dump
<<< Started new transaction, based on original revision 1
     * editing path : shattered-1.pdf ... done.
     * editing path : shattered-2.pdf ...svnadmin: E200014: Checksum mismatch for '/shattered-2.pdf':
   expected: 5bd9d8cabc46041579a311230539b8d1
     actual: ee4aa52b139d925f8d8884402b0a750c

zsh: exit 1 svnadmin load r2 < dump

That's with 1.9.5. Is it fixed on trunk now? I'm not sure whether
r1785754 addresses that.

Incidentally: the error code added in r1785754 is misspelled:

Not only in the error message, also in the code.

> It uses SHA1 and MD5 to verify that the data is valid
> but will not detect intended changes that transformed
> the dump stream from one valid / consistent state to
> another. Apart from that, the FS backend should now
> handle collisions just fine.
> With FSFS and FSX fixed in /trunk (FSX not with the
> backport IMO), there is only the wc issue left. Not sure
> how much efficiency we want to sacrifice there. For
> instance, switching between branches will become
> expensive again.
> -- Stefan^2.


Received on 2017-04-18 02:59:53 CEST

This is an archived mail posted to the Subversion Dev mailing list.