-
-
Notifications
You must be signed in to change notification settings - Fork 45
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Missing sanitization of data received from GitHub #197
Comments
Ouch. |
Do you think it would be enough to use |
Using |
Some protocols (such as git-remote-ext) can execute arbitrary code found in the URL. |
CVE-2016-7793 (for missing validation of repository URL) and CVE-2016-7794 (for missing validation of repository name) were assigned to this bug. |
Without using the option terminator, a malicious server could inject undesired options into the command-line (like `--config=core.gitProxy=perl`) to then use the URL to execute arbitrary code. This should partially fix sociomantic-tsunami#197 (git-remote-ext remains as an attack vector).
OK, #203 should fix the non git-remote-ext issues, as the Github server can't inject git options anymore. |
A malicious GitHub server could send an URL with the form `ext::<command>` and that would run arbitrary code where the git-hub command is ran. To avoid surprises, a simple heuristic is used to spot fishy URLs (including any `<transport>::` URL or URLs that don't match the urltype requested). This should completely fix sociomantic-tsunami#197, and with it both CVE-2016-7793 and CVE-2016-7794.
And #204 should complete the fix. |
A malicious GitHub server could send an URL with the form `ext::<command>` and that would run arbitrary code where the git-hub command is ran. To avoid surprises, a simple heuristic is used to spot fishy URLs (including any `<transport>::` URL or URLs that don't match the urltype requested). This should completely fix sociomantic-tsunami#197, and with it both CVE-2016-7793 and CVE-2016-7794.
A malicious GitHub server could send an URL with the form `ext::<command>` and that would run arbitrary code where the git-hub command is ran. To avoid surprises, a simple heuristic is used to spot fishy URLs (including any `<transport>::` URL or URLs that don't match the urltype requested). This should completely fix sociomantic-tsunami#197, and with it both CVE-2016-7793 and CVE-2016-7794.
A malicious GitHub server could send an URL with the form `ext::<command>` and that would run arbitrary code where the git-hub command is ran. To avoid surprises, a simple heuristic is used to spot fishy URLs (including any `<transport>::` URL or URLs that don't match the urltype requested). This should fix most of sociomantic-tsunami#197.
Without using the option terminator, a malicious server could inject undesired options into the command-line (like `--config=core.gitProxy=perl`) to then use the URL to execute arbitrary code. This completes the fix for sociomantic-tsunami#197.
A malicious GitHub server could send an URL with the form `ext::<command>` and that would run arbitrary code where the git-hub command is ran. To avoid surprises, a simple heuristic is used to spot fishy URLs (including any `<transport>::` URL or URLs that don't match the urltype requested). This should fix most of #197.
Without using the option terminator, a malicious server could inject undesired options into the command-line (like `--config=core.gitProxy=perl`) to then use the URL to execute arbitrary code. This completes the fix for #197.
I'll release v0.10.3 soon, but I'll use it for a day or so as a way to test it first. If more people can give the branch v0.10.x a try too, it would be helpful. |
git-hub trusts data received from GitHub, and passes it unsanitized to the
git
command.Malicious GitHub operators could exploit this to execute arbitrary code.
For example, if GitHub reported the repository name as
and the repository URL as
then this would happen:
With Python before 2.7.9, which didn't verify certificates by default, this bug could be also exploited by man-in-the-middle attackers.
The text was updated successfully, but these errors were encountered: