Re: [PATCH] fsckObjects tests: show how v2.17.1 can exploit downstream
- From
Jeff King <peff@peff.net>
- Date
- May 31, 2018, 06:02 UTC
- Message-ID
- <20180531060259.GE17344@sigill.intra.peff.net>
- In-Reply-To
- <xmqqk1rmexng.fsf@gitster-ct.c.googlers.com>
On Wed, May 30, 2018 at 10:32:19AM +0900, Junio C Hamano wrote:
Show 5 quoted lines
> If we want to also encourage people to vet their own "fetches", I am > not against extending documentation. It just is different from "we > extended the mechanism to help server side protect their clients" > that was the focus of (updated, relative to what is in the tarball) > the description in the release notes.
I haven't tested it, but I suspect that doing multiple fetches could result in passing bad objects through a fetch.fsckObjects filter. Because the objects aren't quarantined on fetch, and because fsck_finish() requires the objects to be installed into place, they may still exist in the repository even if we end up rejecting them. Would a subsequent fetch hit the quickfetch() code and update without actually sending the objects again?
This problem is specific to the .gitmodules thing, I think, because the other fsck checks are able to die much earlier (before fsck_finish).
I think in the long run fetch should implement a similar quarantine procedure to what happens on push.
-Peff