Re: Git clone reads safe.directory differently?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thank you---from a somewhat sophisticated Git user, but not a Git
developer---for all of the discussion that followed my initial inquiry.
I thought I would follow up with some comments that follow from my reading
of the responses and the SECURITY sections of various man pages.

> [From Jeff:] So there's an open question on the degree to which
> running upload-pack is actually dangerous. It's not _supposed_ to be,
> but the ownership check is a defense-in-depth approach to safety.

The discussion here is partially an attempt to better understand some
of the internal workings and guarantees to determine whether or not the
protections applied in some cases are spurious, right?

> [From Brian:] Both of these commands should work correctly and do not,
> and that's a bug (assuming tr1 is owned by a different user):
>
>   git clone --no-local --no-hardlinks $PWD/tr1 tr2
>   git clone --no-local --no-hardlinks ssh://localhost$PWD/tr1 tr2

The remarks above closely resemble the use cases that prompted my
initial inquiry. It would help a great deal if these worked, and also if
"--no-local --no-hardlinks" remains the default for the SSH variant.
Is it fair to conclude that these not working represent a bug?

> [From Brian:] The git(1) manual page also says this:
>   [...] but beware that the surface area for attack against
>   `upload-pack` is large

Does the use of attack surface here mean the general idea of "the volume
of lines of code in upload-pack is large and thus upload-pack likely
contains bugs that might represent vulnerabilities", or is there
something specific about upload-pack that should raise concern?

I do have a related question on the SSH/push side. Let us imagine a host
that has user accounts bearing git-shell as their shell. Thus these users
can only interact with the host (and the repositories therein) using Git.
Further imagine a trusted agent on the host creates these repositories and
any hooks therein. Can a special account, with permission to access all
of the repositories, safely clone and push other users' repositories? Or,
could a user introduce a dangerous hook or configuration option to their
remote repository using only Git by way of git-shell?

Thank you again, especially Jeff, who provided me with some practical
workarounds early in this thread.

-- 
Mike

:wq




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux