mercurial CVE Vulnerabilities & Metrics

Focus on mercurial vulnerabilities and metrics.

Last updated: 08 Mar 2025, 23:25 UTC

About mercurial Security Exposure

This page consolidates all known Common Vulnerabilities and Exposures (CVEs) associated with mercurial. We track both calendar-based metrics (using fixed periods) and rolling metrics (using gliding windows) to give you a comprehensive view of security trends and risk evolution. Use these insights to assess risk and plan your patching strategy.

For a broader perspective on cybersecurity threats, explore the comprehensive list of CVEs by vendor and product. Stay updated on critical vulnerabilities affecting major software and hardware providers.

Global CVE Overview

Total mercurial CVEs: 17
Earliest CVE date: 30 Jun 2008, 20:41 UTC
Latest CVE date: 12 Feb 2020, 02:15 UTC

Latest CVE reference: CVE-2014-9390

Rolling Stats

30-day Count (Rolling): 0
365-day Count (Rolling): 0

Calendar-based Variation

Calendar-based Variation compares a fixed calendar period (e.g., this month versus the same month last year), while Rolling Growth Rate uses a continuous window (e.g., last 30 days versus the previous 30 days) to capture trends independent of calendar boundaries.

Variations & Growth

Month Variation (Calendar): 0%
Year Variation (Calendar): 0%

Month Growth Rate (30-day Rolling): 0.0%
Year Growth Rate (365-day Rolling): 0.0%

Monthly CVE Trends (current vs previous Year)

Annual CVE Trends (Last 20 Years)

Critical mercurial CVEs (CVSS ≥ 9) Over 20 Years

CVSS Stats

Average CVSS: 6.86

Max CVSS: 10.0

Critical CVEs (≥9): 3

CVSS Range vs. Count

Range Count
0.0-3.9 0
4.0-6.9 12
7.0-8.9 3
9.0-10.0 3

CVSS Distribution Chart

Top 5 Highest CVSS mercurial CVEs

These are the five CVEs with the highest CVSS scores for mercurial, sorted by severity first and recency.

All CVEs for mercurial

CVE-2014-9390 mercurial vulnerability CVSS: 7.5 12 Feb 2020, 02:15 UTC

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.

CVE-2010-4237 mercurial vulnerability CVSS: 4.3 29 Oct 2019, 19:15 UTC

Mercurial before 1.6.4 fails to verify the Common Name field of SSL certificates which allows remote attackers who acquire a certificate signed by a Certificate Authority to perform a man-in-the-middle attack.

CVE-2019-3902 mercurial vulnerability CVSS: 5.8 22 Apr 2019, 16:29 UTC

A flaw was found in Mercurial before 4.9. It was possible to use symlinks and subrepositories to defeat Mercurial's path-checking logic and write files outside a repository.

CVE-2018-17983 mercurial vulnerability CVSS: 6.4 04 Oct 2018, 23:29 UTC

cext/manifest.c in Mercurial before 4.7.2 has an out-of-bounds read during parsing of a malformed manifest entry.

CVE-2018-13348 mercurial vulnerability CVSS: 5.0 06 Jul 2018, 00:29 UTC

The mpatch_decode function in mpatch.c in Mercurial before 4.6.1 mishandles certain situations where there should be at least 12 bytes remaining after the current position in the patch data, but actually are not, aka OVE-20180430-0001.

CVE-2018-13347 mercurial vulnerability CVSS: 7.5 06 Jul 2018, 00:29 UTC

mpatch.c in Mercurial before 4.6.1 mishandles integer addition and subtraction, aka OVE-20180430-0002.

CVE-2018-13346 mercurial vulnerability CVSS: 5.0 06 Jul 2018, 00:29 UTC

The mpatch_apply function in mpatch.c in Mercurial before 4.6.1 incorrectly proceeds in cases where the fragment start is past the end of the original data, aka OVE-20180430-0004.

CVE-2018-1000132 mercurial vulnerability CVSS: 6.4 14 Mar 2018, 13:29 UTC

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.

CVE-2017-17458 mercurial vulnerability CVSS: 10.0 07 Dec 2017, 18:29 UTC

In Mercurial before 4.4.1, it is possible that a specially malformed repository can cause Git subrepositories to run arbitrary code in the form of a .git/hooks/post-update script checked into the repository. Typical use of Mercurial prevents construction of such repositories, but they can be created programmatically.

CVE-2017-1000116 mercurial vulnerability CVSS: 10.0 05 Oct 2017, 01:29 UTC

Mercurial prior to 4.3 did not adequately sanitize hostnames passed to ssh, leading to possible shell-injection attacks.

CVE-2017-1000115 mercurial vulnerability CVSS: 5.0 05 Oct 2017, 01:29 UTC

Mercurial prior to version 4.3 is vulnerable to a missing symlink check that can malicious repositories to modify files outside the repository

CVE-2017-9462 mercurial vulnerability CVSS: 9.0 06 Jun 2017, 21:29 UTC

In Mercurial before 4.1.3, "hg serve --stdio" allows remote authenticated users to launch the Python debugger, and consequently execute arbitrary code, by using --debugger as a repository name.

CVE-2016-3105 mercurial vulnerability CVSS: 6.8 09 May 2016, 20:59 UTC

The convert extension in Mercurial before 3.8 might allow context-dependent attackers to execute arbitrary code via a crafted git repository name.

CVE-2016-3630 mercurial vulnerability CVSS: 6.8 13 Apr 2016, 16:59 UTC

The binary delta decoder in Mercurial before 3.7.3 allows remote attackers to execute arbitrary code via a (1) clone, (2) push, or (3) pull command, related to (a) a list sizing rounding error and (b) short records.

CVE-2016-3069 mercurial vulnerability CVSS: 6.8 13 Apr 2016, 16:59 UTC

Mercurial before 3.7.3 allows remote attackers to execute arbitrary code via a crafted name when converting a Git repository.

CVE-2016-3068 mercurial vulnerability CVSS: 6.8 13 Apr 2016, 16:59 UTC

Mercurial before 3.7.3 allows remote attackers to execute arbitrary code via a crafted git ext:: URL when cloning a subrepository.

CVE-2014-9462 mercurial vulnerability CVSS: 7.5 31 Mar 2015, 14:59 UTC

The _validaterepo function in sshpeer in Mercurial before 3.2.4 allows remote attackers to execute arbitrary commands via a crafted repository name in a clone command.

CVE-2008-2942 mercurial vulnerability CVSS: 6.8 30 Jun 2008, 20:41 UTC

Directory traversal vulnerability in patch.py in Mercurial 1.0.1 allows user-assisted attackers to modify arbitrary files via ".." (dot dot) sequences in a patch file.