git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [RCF] Secure git against involuntary arb. code execution without feature loss

From
Michael Lohmann <git@lohmann.sh>
Date
Oct 8, 2025, 22:09 UTC
Message-ID
<25FB37DC-09F3-41F4-ACFE-6F8A854E50B8@lohmann.sh>
In-Reply-To
<aObceC/Ec/TGTEnv@nand.local>
Show 19 quoted lines
> On 8. Oct 2025, at 23:49, Taylor Blau <me@ttaylorr.com> wrote:
> 
> On Wed, Oct 08, 2025 at 05:30:08PM -0400, Taylor Blau wrote:
>> On Wed, Oct 08, 2025 at 11:02:03PM +0200, Michael Lohmann wrote:
>>> * Proposed solution (keeping all existing features):
>>> - On first use, git generates a secret "token" (e.g. a random string in
>>>  ~/.gitsecret)
>>> - On calling `git init` or `git clone`, the secret is copied into the
>>>  new .git directory and serves as proof that this clone was created by
>>>  this user
>> 
>> Sure, but the problem is not with direct clones (at least, not using the
>> --local optimization), but with clones that recursively clone other
>> submodules.
> 
> This is a think-o. I meant to ask whether or not we would respect the
> token from the top-most $GIT_DIR in nested bare repositories. I imagine
> we would not (otherwise this proposal would not provide any additional
> security guarantees), and so...

My understanding was that submodules would add their own git folder in the top-level .git/modules/my-submodule, so obviously in order to trust a submodule, you need to "sign" these too and you could automatically also with --recursive.

(Sorry @Taylor - I missed adding the whole list as recipient, so you get this twice...)

Previous: Taylor BlauNext: brian m. carlson
Message 5 of 10 in “[RCF] Secure git against involuntary arb. code execution without feature loss”
  1. Michael LohmannOct 8, 2025
  2. Taylor BlauOct 8, 2025
  3. rsbecker@nexbridge.comOct 8, 2025
  4. Taylor BlauOct 8, 2025
  5. Michael LohmannOct 8, 2025
  6. brian m. carlsonOct 8, 2025
  7. Michael LohmannOct 8, 2025
  8. Jeff KingOct 9, 2025
  9. Michael LohmannOct 9, 2025
  10. Submitted patches for "assume unsafe"Michael Lohmann, Oct 13, 2025

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.