Skip to content

bundle-uri: refuse advertised URIs by protocol - #2200

Open
dscho wants to merge 1 commit into
gitgitgadget:masterfrom
dscho:respect-allowed-protocols-in-bundle-uris
Open

bundle-uri: refuse advertised URIs by protocol#2200
dscho wants to merge 1 commit into
gitgitgadget:masterfrom
dscho:respect-allowed-protocols-in-bundle-uris

Conversation

@dscho

@dscho dscho commented Aug 12, 2026

Copy link
Copy Markdown
Member

This is the security fix released with Git for Windows v2.55.0(4). Due to the transparent NTLM authentication ("SSPI"), the vulnerability affects only Windows. The patch has been sent to the git-security list on June 26th, 2026, but only received reviews in the PR in https://github.com/git-for-windows/git/security/advisories/GHSA-xrpg-8j9v-v282's private fork (which had to be deleted so that the advisory could be published).

Servers may advertise bundle URIs that are not HTTP(S);
copy_uri_to_file() then opens it as a local path. On Windows that can be
a UNC path like `//attacker/share/x`, i.e. a clone can be manipulated
into making an outbound SMB connection that leaks NTLM credentials
(CVE-2026-62960).

Subject advertised URIs to the usual protocol allow-list
(`protocol.*.allow`), which drops "file" (and bare/UNC paths) by default
but keeps http/https/git/ssh. Do it in fetch_bundle_list(), the
clone/fetch consume path, so ls-remote still lists everything; each
skipped URI is reported. A user-supplied `--bundle-uri` is unaffected,
and `protocol.file.allow=always` re-enables an advertised file URI.

Assisted-by: Opus 4.7
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
@dscho dscho self-assigned this Aug 12, 2026
@dscho

dscho commented Aug 12, 2026

Copy link
Copy Markdown
Member Author

/submit

@gitgitgadget

gitgitgadget Bot commented Aug 12, 2026

Copy link
Copy Markdown

Submitted as pull.2200.git.1786550157424.gitgitgadget@gmail.com

To fetch this version into FETCH_HEAD:

git fetch https://github.com/gitgitgadget/git/ pr-2200/dscho/respect-allowed-protocols-in-bundle-uris-v1

To fetch this version to local tag pr-2200/dscho/respect-allowed-protocols-in-bundle-uris-v1:

git fetch --no-tags https://github.com/gitgitgadget/git/ tag pr-2200/dscho/respect-allowed-protocols-in-bundle-uris-v1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant