Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 468AC200C6F for ; Tue, 9 May 2017 14:12:08 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 4545C160BC3; Tue, 9 May 2017 12:12:08 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 8A956160BB3 for ; Tue, 9 May 2017 14:12:07 +0200 (CEST) Received: (qmail 52701 invoked by uid 500); 9 May 2017 12:12:06 -0000 Mailing-List: contact dev-help@subversion.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list dev@subversion.apache.org Received: (qmail 52681 invoked by uid 99); 9 May 2017 12:12:06 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 09 May 2017 12:12:06 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id 19D93185F86 for ; Tue, 9 May 2017 12:12:06 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -0.32 X-Spam-Level: X-Spam-Status: No, score=-0.32 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, KAM_NUMSUBJECT=0.5, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01] autolearn=disabled Authentication-Results: spamd3-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=daniel.shahaf.name header.b=GCOlu0RE; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=VXehSinz Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id n2F895fipv-q for ; Tue, 9 May 2017 12:12:04 +0000 (UTC) Received: from out4-smtp.messagingengine.com (out4-smtp.messagingengine.com [66.111.4.28]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTPS id C08FD60CE8 for ; Tue, 9 May 2017 12:12:03 +0000 (UTC) Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.nyi.internal (Postfix) with ESMTP id 184A520B83; Tue, 9 May 2017 08:12:03 -0400 (EDT) Received: from frontend2 ([10.202.2.161]) by compute3.internal (MEProxy); Tue, 09 May 2017 08:12:03 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= daniel.shahaf.name; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-sender :x-me-sender:x-sasl-enc:x-sasl-enc; s=fm1; bh=eR6DgIL5bo1LzBv40Q olr7Vm6NM+Mo0OO4DuqEpY8a0=; b=GCOlu0REJipD9m8DWo4DYHsH+VEosdjJiH uo3Ymq/RRAd+47+H1L/jBScxs8D2Ml/reqJmKnFmJgM4Gt1x5zMu65bK2h+7JoLP HHDSV8uC6OkE79m/YKNojU4T9yK2RAgCSaBzFR+CnzY2q8x/cWhPeQuj30eTIujg JWSk+ctArLdTSNNlkpd/nOn+7X/ctj2IjDeIGFZuPiPGOG82VC0uxbhOZTdVHx+f 272P2R1rm3rsEr1ITcPD93OJtKRZTvKdQzluntu41F9rBEaycnv6QhstQ+oTY/8C 2d2ow345KlNYjGfv1qCoCv/iHpwuy0m86ItN7B+jn8S09C4Jcr7w== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-sender :x-me-sender:x-sasl-enc:x-sasl-enc; s=fm1; bh=eR6DgIL5bo1LzBv40Q olr7Vm6NM+Mo0OO4DuqEpY8a0=; b=VXehSinz1Qm9k6rqDG395lvQCipvyZdQWL Frq75XNKIDoD1TaScNolFwELirdn7uwlTv3eR8we80GLyIJOADI790yrGrhJjP4H 1EO8RrqTz6AIrCNnuj1F6js4L5iZRUiktdvhCIxBan4PpXYn1VUdE82pPwY952TQ sYfJST9NsP8ACnDlIXqeopcgh2CdJw70pEbCYIz1wBGLTE1NPzZitPUJvVp9PyH0 +ebPmB+l2kERBd9PENImRnLDQN6Q5i7XWdNI63oOFWbQH7uUGRRJCot/DjXRlUUd 5oVYWkqhYoYlG+PL5G0w6zkE3Kzc0qPZueH4D/QDcfQAkc8kC+TA== X-ME-Sender: X-Sasl-enc: 4AWvVYMLBzOFZUt8liRyVJzlSGSkMvAsdnkKw9e3zhhY 1494331922 Received: from fujitsu.shahaf.local2 (bzq-109-65-99-164.red.bezeqint.net [109.65.99.164]) by mail.messagingengine.com (Postfix) with ESMTPA id ABCD4241E3; Tue, 9 May 2017 08:12:02 -0400 (EDT) Received: by fujitsu.shahaf.local2 (Postfix, from userid 1000) id 3wMdXK0bhzzlb; Tue, 9 May 2017 12:12:01 +0000 (UTC) Date: Tue, 9 May 2017 12:12:01 +0000 From: Daniel Shahaf To: Jacek Materna Cc: Subversion Development Subject: Re: [PATCH] 1.10 Release notes and FAQ around SHA-1 Message-ID: <20170509121201.GC11416@fujitsu.shahaf.local2> References: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) archived-at: Tue, 09 May 2017 12:12:08 -0000 Jacek Materna wrote on Mon, May 08, 2017 at 10:46:39 +0200: > Team, > > I wanted to start a discussion around the FAQ (and 1.10 rls. notes) as it > pertains to the SHA-1 issue affecting all versions of SVN RE: "Continue the > 1.10 alphas?" thread. > > 1) We should bias towards pro-active mitigation of this issue in docs/code > as we know a real solution will likely NOT come with 1.10 after all. Agreed: a solution in code would be preferable, but whichever cases are not working as we want them to, should be documented. > 2) Consider patching 1.10 with de-duplication off by default ? What's the rationale behind this? (honest question) I can see that this would, for one, allow sha1 collisions to be committed over RA, but I'm not sure what benefit you have in mind. > 3) Remediation of the issue (if affected) should be a different topic? - > how to get out of the weeds guide. Published by the group - authoritative, > trusted, final. A number of providers of SVN hosting have done their own > workarounds and written their own KB's on the topic - I think having a > master guide is important. Agreed. Moreover, it'd be nice to draw on the knowledge accumulated in our downstreams. I tried to provide such a guide in [1], but it's incomplete: it doesn't cover the dump/load issue. (Hopefully we'll backport that issue's fix to 1.9.6.) [1] https://mail-archives.apache.org/mod_mbox/subversion-dev/201702.mbox/%3C20170224213628.GA21715@fujitsu.shahaf.local2%3E Incidentally, that email is from late February, so the "90 days to publishing the exploit code" will be over soon. > >>>>>>>>>>>>>> > General Questions: > - How do I protect my repository against the SHA-1 vulnerability found by > Google? I see this is a patch for the FAQ. For future reference, we prefer patches to be formatted in unidiff against the site's HTML source (https://svn.apache.org/repos/asf/subversion/site/publish/faq.en.html), however, I agree it's easier to first iterate on the wording and only later add the HTML markup. I suggest to say "shattered" somewhere in the question's title, to unambiguously identify the attack. > Subversion's use of SHA-1 in how it processes content is subject to hashing > collisions as identified by Google (https://shattered.io/). Preventing > suspect object commits is the simplest and best way today to protect your > repository. Disabling repository sharing is not enough to solve the issue > alone as Subversion also uses SHA-1 to de-duplicate retransmission of > content to clients for a pristine working copy. This paragraph tries to say two things: 1. The FS layer (repository) uses sha1. Workaround: use this hook script. (Or upgrade to 1.10.0 / 1.9.TBD ?) 2. The WC/RA layers use sha1. Workaround: none yet. I would suggest to make this division explicit. E.g., we could say: "Subversion uses sha1 in X and Y. X uses sha1 for ... The new failure modes / attacks are ... The workaround / fix is... Y uses sha1 for ... The new failure modes / attacks are ... The workaround / fix is... " Basically, each paragraph would follow the same structure as our advisories: design description, problem description, fixes and workarounds. WDYT? > Prevention: > > Install a pre-commit hook that will reject new instances against known > collisions. While this will not guarantee protection from new collisions, > we will keep the hook up-to date as new collisions are publicly released. > > The hook can be found here: > https://svn.apache.org/repos/asf/subversion/trunk/tools/hook-scripts/reject-known-sha1-collisions.sh The FAQ entry should also cater to Windows admins, if nothing else than by saying "We'd welcome patches adding an equivalent hook script for Windows". > <<<<<<<< Looks good. This should eventually be linked to from the (1.9 and/or 1.10) release notes as well, I imagine. (The 1.10 release notes are drafted in /docs/release-notes/1.10.html, but not yet publicly linked to.) Thanks! Daniel