Re: [PATCH 00/12] Fix various overly aggressive protections in 2.45.1 and friends
- From
- Phillip Wood <phillip.wood123@gmail.com>
- Date
- May 28, 2024, 15:02 UTC
- Message-ID
- <8353645a-a684-417a-8b0e-d8cbd7da6b5a@gmail.com>
- In-Reply-To
- <99225123-70f0-3546-a6fa-b6d1f981b41d@gmx.de>
Hi Johannes
On 27/05/2024 20:51, Johannes Schindelin wrote:
Show 20 quoted lines
> Hi Joey, > > On Thu, 23 May 2024, Joey Hess wrote: > >> Junio C Hamano wrote: >>> - The extra check seems to have meant to target the symbolic links >>> that point at objects, refs, config, and anything _we_ care >>> about, as opposed to random garbage (from _our_ point of view) >>> files third-parties throw into .git/ directory. Would it have >>> made a better trade-off if we tried to make the check more >>> precise, only complaining about the things we care about (in >>> other words, what _we_ use) >> >> I wondered about that possibility too. But it's not at all clear to >> me how a symlink to .git/objects/foo risks any more security problem >> to git than one to .git/annex/whatever, or indeed to /home/linus/.bashrc. > > It risks more security problems because `.git/objects/??/*` is not > re-hashed when it is being used by Git. That's a very easy way to slip in > unwanted file contents.
What checks do we have in place to prevent git checking out blobs and gitlinks to paths under .git/? I'd have thought we should be applying the same restrictions to the target of symbolic links as we do to those.
Show 6 quoted lines
> And there is a good reason _not_ to write stuff inside the `.git/` > directory unless you happen to be, well, Git itself: Git makes no > guarantees whatsoever that you can write into that directory whatever you > want. A future Git version might even write a file `.git/annex`, breaking > `git-annex`' assumptions, and that'd be totally within the guarantees Git > makes.
This seems a bit harsh - many tools store their state under .git/ and I think it makes sense for them to do so as it avoids creating untracked files in the working copy. I would hope that we'd be considerate of widely used tools such as 'git annex' when adding new paths under .git/
Best Wishes
Phillip