Arch Linux Security Advisory ASA-201604-6
========================================
Severity: Critical
Date    : 2016-04-06
CVE-ID  : CVE-2016-3068 CVE-2016-3069 CVE-2016-3630
Package : mercurial
Type    : arbitrary code execution
Remote  : Yes
Link    : https://wiki.archlinux.org/title/CVE

Summary
======
The package mercurial before version 3.7.3-1 is vulnerable 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.

Workaround
=========
None.

Description
==========
- 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.

Impact
=====
A remote attacker is able to execute arbitrary code via the mercurial
convert extension, git subrepositories or a vulnerability in the binary
delta decoder.

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

ArchLinux: 201604-6: mercurial: arbitrary code execution

April 6, 2016

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

Severity
Package : mercurial
Type : arbitrary code execution
Remote : Yes
Link : https://wiki.archlinux.org/title/CVE

Workaround

None.

Related News