git-commit-vandalism/Documentation/config
Taylor Blau a1d4f67c12 transport: make protocol.file.allow be "user" by default
An earlier patch discussed and fixed a scenario where Git could be used
as a vector to exfiltrate sensitive data through a Docker container when
a potential victim clones a suspicious repository with local submodules
that contain symlinks.

That security hole has since been plugged, but a similar one still
exists.  Instead of convincing a would-be victim to clone an embedded
submodule via the "file" protocol, an attacker could convince an
individual to clone a repository that has a submodule pointing to a
valid path on the victim's filesystem.

For example, if an individual (with username "foo") has their home
directory ("/home/foo") stored as a Git repository, then an attacker
could exfiltrate data by convincing a victim to clone a malicious
repository containing a submodule pointing at "/home/foo/.git" with
`--recurse-submodules`. Doing so would expose any sensitive contents in
stored in "/home/foo" tracked in Git.

For systems (such as Docker) that consider everything outside of the
immediate top-level working directory containing a Dockerfile as
inaccessible to the container (with the exception of volume mounts, and
so on), this is a violation of trust by exposing unexpected contents in
the working copy.

To mitigate the likelihood of this kind of attack, adjust the "file://"
protocol's default policy to be "user" to prevent commands that execute
without user input (including recursive submodule initialization) from
taking place by default.

Suggested-by: Jeff King <peff@peff.net>
Signed-off-by: Taylor Blau <me@ttaylorr.com>
2022-10-01 00:23:38 -04:00
..
add.txt
advice.txt
alias.txt
am.txt
apply.txt
blame.txt
branch.txt
browser.txt
checkout.txt
clean.txt
clone.txt
color.txt
column.txt
commit.txt
commitgraph.txt
completion.txt
core.txt
credential.txt
diff.txt
difftool.txt
extensions.txt
fastimport.txt
feature.txt
fetch.txt
filter.txt
fmt-merge-msg.txt
format.txt
fsck.txt
gc.txt
gitcvs.txt
gitweb.txt
gpg.txt
grep.txt
gui.txt
guitool.txt
help.txt
http.txt
i18n.txt
imap.txt
index.txt
init.txt
instaweb.txt
interactive.txt
log.txt
mailinfo.txt
mailmap.txt
maintenance.txt
man.txt
merge.txt
mergetool.txt
notes.txt
pack.txt
pager.txt
pretty.txt
protocol.txt transport: make protocol.file.allow be "user" by default 2022-10-01 00:23:38 -04:00
pull.txt
push.txt
rebase.txt
receive.txt
remote.txt
remotes.txt
repack.txt
rerere.txt
reset.txt
safe.txt
sendemail.txt
sequencer.txt
showbranch.txt
splitindex.txt
ssh.txt
stash.txt
status.txt
submodule.txt
tag.txt
tar.txt
trace2.txt
transfer.txt
uploadarchive.txt
uploadpack.txt
url.txt
user.txt
versionsort.txt
web.txt
worktree.txt