In Git before 2.13.7, 2.14.x before 2.14.4, 2.15.x before 2.15.2, 2.16.x before 2.16.4, and 2.17.x before 2.17.1, remote code execution can occur. With a crafted .gitmodules file, a malicious project can execute an arbitrary script on a machine that runs "git clone --recurse-submodules" because submodule "names" are obtained from this file, and then appended to $GIT_DIR/modules, leading to directory traversal with "../" in a name. Finally, post-checkout hooks from a submodule are executed, bypassing the intended design in which hooks are not obtained from a remote server.
The product uses external input to construct a pathname that is intended to identify a file or directory that is located underneath a restricted parent directory, but the product does not properly neutralize special elements within the pathname that can cause the pathname to resolve to a location that is outside of the restricted directory.
Link | Tags |
---|---|
https://www.exploit-db.com/exploits/44822/ | exploit vdb entry third party advisory |
https://access.redhat.com/errata/RHSA-2018:2147 | third party advisory vendor advisory |
https://usn.ubuntu.com/3671-1/ | third party advisory vendor advisory |
https://marc.info/?l=git&m=152761328506724&w=2 | third party advisory release notes |
http://www.securitytracker.com/id/1040991 | vdb entry third party advisory |
https://access.redhat.com/errata/RHSA-2018:1957 | third party advisory vendor advisory |
https://security.gentoo.org/glsa/201805-13 | third party advisory vendor advisory |
http://www.securityfocus.com/bid/104345 | vdb entry third party advisory |
https://blogs.msdn.microsoft.com/devops/2018/05/29/announcing-the-may-2018-git-security-vulnerability/ | patch technical description vendor advisory |
https://www.debian.org/security/2018/dsa-4212 | third party advisory vendor advisory |
http://lists.opensuse.org/opensuse-security-announce/2020-05/msg00003.html | vendor advisory |