Git before 1.8.5.6, 1.9.x before 1.9.5, 2.0.x before 2.0.5, 2.1.x before 2.1.4, and 2.2.x before 2.2.1 on Windows and OS X; Mercurial before 3.2.3 on Windows and OS X; Apple Xcode before 6.2 beta 3; mine all versions before 08-12-2014; libgit2 all versions up to 0.21.2; Egit all versions before 08-12-2014; and JGit all versions before 08-12-2014 allow remote Git servers to execute arbitrary commands via a tree containing a crafted .git/config file with (1) an ignorable Unicode codepoint, (2) a git~1/config representation, or (3) mixed case that is improperly handled on a case-insensitive filesystem.
Software | From | Fixed in |
---|---|---|
apple / xcode | - | 6.1.1.x |
apple / xcode | 6.2 | 6.2.x |
apple / xcode | 6.2-beta_2 | 6.2-beta_2.x |
mercurial / mercurial | - | 3.2.3 |
git-scm / git | - | 1.8.5.6 |
git-scm / git | 1.9.0 | 1.9.5 |
git-scm / git | 2.0.0 | 2.0.5 |
git-scm / git | 2.1.0 | 2.1.4 |
git-scm / git | 2.2.0 | 2.2.1 |
eclipse / egit | - | 08-12-2014 |
libgit2 / libgit2 | - | 0.21.3 |
eclipse / jgit | - | 3.4.2 |
eclipse / jgit | 3.5.0 | 3.5.3 |
org.eclipse.jgit / org.eclipse.jgit | - | 3.5.3 |