brew-git-annex-cve-2017-12976
Vulnerability from osv_homebrew
git-annex command injection via malicious SSH hostname
git-annex was vulnerable to the same class of security hole as
git's CVE-2017-1000117. In several cases, git-annex parses a
repository URL, and uses it to generate a ssh command, with the
hostname to ssh to coming from the URL. If the hostname it parses is
something like -eProxyCommand=evil, this could result in arbitrary
local code execution.
Some details of URL parsing may prevent the exploit working in some cases.
Exploiting this would involve the attacker tricking the victim into
adding a remote something like ssh://-eProxyCommand=evil/blah.
One possible avenue for an attacker that avoids exposing the URL to
the user is to use initremote with an SSH remote, so embedding the
URL in the git-annex branch. Then the victim would enable it with
enableremote.
This was fixed in version 6.20170818. Now there's a SshHost
type that is not allowed to start with a dash, and every invocation
of git-annex uses a function that takes a SshHost.
{
"affected": [
{
"ecosystem_specific": {
"fix": "bump",
"range_state": "fixed",
"upstream_fixed_in": "6.20170818"
},
"package": {
"ecosystem": "Homebrew",
"name": "git-annex",
"purl": "pkg:brew/git-annex"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "10.20260717"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"database_specific": {
"confidence": "high",
"source": "matched",
"strategy": "registry",
"upstream_evidence": [
{
"ecosystem": "Hackage",
"key": "pkg:hackage/git-annex@10.20260901",
"name": "git-annex",
"strategy": "registry",
"subject_version": "10.20260901"
},
{
"ecosystem": "Debian",
"key": "Debian/git-annex",
"name": "git-annex",
"strategy": "distro"
},
{
"ecosystem": "Hackage",
"key": "upstream:pkg:hackage/git-annex@10.20260901",
"name": "git-annex",
"strategy": "distro",
"subject_version": "10.20260901"
},
{
"ecosystem": "Ubuntu",
"key": "Ubuntu/git-annex",
"name": "git-annex",
"strategy": "distro"
}
]
},
"details": "# *git-annex* command injection via malicious SSH hostname\n\n*git-annex* was vulnerable to the same class of security hole as\ngit\u0027s **CVE-2017-1000117**. In several cases, `git-annex` parses a\nrepository URL, and uses it to generate a `ssh` command, with the\nhostname to ssh to coming from the URL. If the hostname it parses is\nsomething like `-eProxyCommand=evil`, this could result in arbitrary\nlocal code execution.\n\nSome details of URL parsing may prevent the exploit working in some\ncases.\n\nExploiting this would involve the attacker tricking the victim into\nadding a remote something like `ssh://-eProxyCommand=evil/blah`.\n\nOne possible avenue for an attacker that avoids exposing the URL to\nthe user is to use `initremote` with an SSH remote, so embedding the\nURL in the *git-annex* branch. Then the victim would enable it with\n`enableremote`.\n\nThis was fixed in version **6.20170818**. Now there\u0027s a `SshHost`\ntype that is not allowed to start with a dash, and every invocation\nof `git-annex` uses a function that takes a `SshHost`.\n",
"id": "BREW-git-annex-CVE-2017-12976",
"modified": "2026-09-10T19:17:39Z",
"published": "2026-08-13T16:50:35Z",
"references": [
{
"type": "ADVISORY",
"url": "https://git-annex.branchable.com/security/CVE-2017-12976/"
},
{
"type": "FIX",
"url": "http://source.git-annex.branchable.com/?p=source.git;a=commitdiff;h=df11e54788b254efebb4898b474de11ae8d3b471"
}
],
"schema_version": "1.7.3",
"summary": "git-annex command injection via malicious SSH hostname",
"upstream": [
"HSEC-2023-0009",
"CVE-2017-12976"
]
}
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
Related by attack behaviour
Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.