CVE-2018-1000132: Critical severity mercurial vulnerability
Mercurial version 4.5 and earlier contains a Incorrect Access Control (CWE-285) vulnerability in Protocol server that can result in Unauthorized data access. This attack appear to be exploitable via network connectivity. This vulnerability appears to have been fixed in 4.5.1.
Other sources
Quote from release notes:
All versions of Mercurial prior to 4.5.2 have vulnerabilities in the HTTP server that allow permissions bypass to:
Perform writes on repositories that should be read-only Perform reads on repositories that shouldn't allow read access
The nature of the vulnerabilities is:
Wire protocol commands that didn't explicitly declare their permissions had no permissions checking done. The web.{allow-pull, allow-push, denyread, etc} config options governing access control were never consulted when running these commands. This allowed permissions bypass for impacted commands.
The batch wire protocol command did not list its permission requirements nor did it enforce permissions on individual sub-commands.
The implication of these vulnerabilities is that no permissions checking was performed on commands and this could lead to accessing data that web. config options were supposed to prevent access to or modifying data (via wire protocol commands that can mutate data) without authorization. A Mercurial HTTP server in its default configuration is supposed to be read-only. However, a well-crafted batch command could invoke commands that perform writes.
Upstream patch:
https://www.mercurial-scm.org/repo/hg/rev/2ecb0fc535b1
References:
https://www.mercurial-scm.org/wiki/WhatsNew#Mercurial4.5.1.2F4.5.2.282018-03-06.29
— Red Hat
Affected Software
Event History
Frequently Asked Questions
What is CVE-2018-1000132?
CVE-2018-1000132 is a vulnerability in Mercurial version 4.5 and earlier that allows unauthorized data access through the protocol server.
How severe is CVE-2018-1000132?
CVE-2018-1000132 has a severity rating of 9.1 (critical).
How can I exploit CVE-2018-1000132?
CVE-2018-1000132 can be exploited through network connectivity.
How can I fix CVE-2018-1000132?
CVE-2018-1000132 has been fixed in version 4.5.1 of Mercurial, so updating to 4.5.1 or later will resolve the vulnerability.
Where can I find more information about CVE-2018-1000132?
You can find more information about CVE-2018-1000132 at the following references: [Link 1](https://access.redhat.com/errata/RHSA-2019:2276), [Link 2](https://lists.debian.org/debian-lts-announce/2018/03/msg00034.html), [Link 3](https://lists.debian.org/debian-lts-announce/2018/07/msg00005.html).