Impact
When cloning from a server (or fetching, or pushing), informational or error messages are transported from the remote Git process to the client via the so-called "sideband channel". These messages will be prefixed with "remote:" and printed directly to the standard error output.
Typically, this standard error output is connected to a terminal that understands ANSI escape sequences, which Git did not protect against. Most modern terminals support control sequences that can be used by a malicious actor to hide and misrepresent information, or to mislead the user into executing untrusted scripts.
Patches
As requested on the git-security mailing list, the patches are under discussion on the public mailing list.
Workarounds
Avoid recursive clones unless you absolutely trust the remote repository (this is good advice in general, anyway!).
Impact
When cloning from a server (or fetching, or pushing), informational or error messages are transported from the remote Git process to the client via the so-called "sideband channel". These messages will be prefixed with "remote:" and printed directly to the standard error output.
Typically, this standard error output is connected to a terminal that understands ANSI escape sequences, which Git did not protect against. Most modern terminals support control sequences that can be used by a malicious actor to hide and misrepresent information, or to mislead the user into executing untrusted scripts.
Patches
As requested on the git-security mailing list, the patches are under discussion on the public mailing list.
Workarounds
Avoid recursive clones unless you absolutely trust the remote repository (this is good advice in general, anyway!).