ArchLinux: 201604-6: mercurial: arbitrary code execution
Summary
- CVE-2016-3068 (arbitrary code execution)
It was reported that in mercurial, there is similar vulnerability as
CVE-2015-7545 in git. Git's git-remote-ext remote helper provides an
ext:: URL scheme that allows running arbitrary shell commands. Mercurial
allows specifying git repositories as subrepositories. Git ext:: URLs
can be specified as Mercurial subrepositories allowing arbitrary shell
commands to be run on `hg clone`.
- CVE-2016-3069 (arbitrary code execution)
It was reported that Convert extension in mercurial is vulnerable to
command execution. Incorrect handling of command line parameters allows
passing a full Git remote URL via a directory name. The Git ext:: URL
scheme can be used to obtain arbitrary command execution. Furthermore,
lack of escaping of shell metacharacters allows arbitrary command
injection, which is another way of exploiting the vulnerable code.
- CVE-2016-3630 (arbitrary code execution)
Two bounds-checking errors have been discovered in the binary delta
decoder that may be exploitable via clone, push, or pull leading to
arbitrary code execution.
Resolution
Upgrade to 3.7.3-1.
# pacman -Syu "mercurial>=3.7.3-1"
The problems have been fixed upstream in version 3.7.3.
References
https://wiki.mercurial-scm.org/WhatsNew https://access.redhat.com/security/cve/CVE-2016-3068 https://access.redhat.com/security/cve/CVE-2016-3069 https://access.redhat.com/security/cve/CVE-2016-3630 https://bugs.archlinux.org/task/48821
Workaround
None.