CVE-2018-13348
Mercurial Improper Input Validation vulnerability
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- High
- Availability
- None
Exploit likelihood
What each source reports
NVD Score used
7.5
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.
- Record
CVE-2018-13348- CVSS 3.0
- 7.5 High
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - CVSS 2.0
- 5.0 Medium
AV:N/AC:L/Au:N/C:N/I:P/A:N - Weakness
- CWE-20
- Updated
- 2026-11-02
CVE List No score
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.
- Record
CVE-2018-13348- Updated
- 2026-11-02
EUVDEUVD-2018-0097 No score
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.
- Record
EUVD-2018-0097- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-3v62-ww8w-758m
8.7
Mercurial Improper Input Validation vulnerability
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.
- Record
GHSA-3v62-ww8w-758m- CVSS 4.0
- 8.7 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N - CVSS 3.0
- 7.5 High
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Weakness
- CWE-20
- Updated
- 2026-11-02
OSV
7.5
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.
- Record
CVE-2018-13348- CVSS 3.0
- 7.5 High
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Updated
- 2026-11-02
OSVDEBIAN-CVE-2018-13348
7.5
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.
- Record
DEBIAN-CVE-2018-13348- CVSS 3.0
- 7.5 High
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Updated
- 2026-11-02
Show 8 moreShow less
OSVGHSA-3v62-ww8w-758m
8.7
Mercurial Improper Input Validation vulnerability
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.
- Record
GHSA-3v62-ww8w-758m- CVSS 4.0
- 8.7 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N - CVSS 3.0
- 7.5 High
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Weakness
- CWE-20
- Updated
- 2026-11-02
OSVUBUNTU-CVE-2018-13348
7.5
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.
- Record
UBUNTU-CVE-2018-13348- CVSS 3.0
- 7.5 High
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Updated
- 2026-11-02
OSVMGASA-2018-0355 No score
Updated mercurial packages fix security vulnerabilities
This update provides mercurial version 4.6.2 and fixes the following security issues:
Fix the mpatch_apply function in mpatch.c that incorrectly proceeds in cases where the fragment start is past the end of the original data (CVE-2018-13346).
Fix mpatch.c that mishandles integer addition and subtraction (CVE-2018-13347).
Fix the mpatch_decode function in mpatch.c that mishandles certain situations where there should be at least 12 bytes remaining after the current position in the patch data (CVE-2018-13348).
Remote attackers may bypass HTTP server permissions via batch wire protocol commands(CVE-2018-1000132).
- Record
MGASA-2018-0355- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:10586-1 No score
mercurial-5.9.1-2.1 on GA media
These are all security issues fixed in the mercurial-5.9.1-2.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:10586-1- Updated
- 2026-11-02
OSVPYSEC-2018-90 No score
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.
- Record
PYSEC-2018-90- Updated
- 2026-11-02
OSVSUSE-SU-2018:1990-1 No score
Security update for mercurial
This update for mercurial fixes the following issues:
Security issues fixed:
- CVE-2018-13346: Fix mpatch_apply function in mpatch.c that incorrectly proceeds in cases where the fragment start is past the end of the original data (bsc#1100354).
- CVE-2018-13347: Fix mpatch.c that mishandles integer addition and subtraction (bsc#1100355).
- CVE-2018-13348: Fix the mpatch_decode function in mpatch.c that mishandles certain situations where there should be at least 12 bytes remaining after thecurrent position in the patch data (bsc#1100353).
- Record
SUSE-SU-2018:1990-1- Updated
- 2026-11-02
OSVSUSE-SU-2018:1996-1 No score
Security update for mercurial
This update for mercurial fixes the following issues:
Security issues fixed:
- CVE-2018-13346: Fix mpatch_apply function in mpatch.c that incorrectly proceeds in cases where the fragment start is past the end of the original data (bsc#1100354).
- CVE-2018-13347: Fix mpatch.c that mishandles integer addition and subtraction (bsc#1100355).
- CVE-2018-13348: Fix the mpatch_decode function in mpatch.c that mishandles certain situations where there should be at least 12 bytes remaining after thecurrent position in the patch data (bsc#1100353).
- Record
SUSE-SU-2018:1996-1- Updated
- 2026-11-02
OSVSUSE-SU-2018:1998-1 No score
Security update for mercurial
This update for mercurial fixes the following issues:
Security issues fixed:
- CVE-2018-13346: Fix mpatch_apply function in mpatch.c that incorrectly proceeds in cases where the fragment start is past the end of the original data (bsc#1100354).
- CVE-2018-13347: Fix mpatch.c that mishandles integer addition and subtraction (bsc#1100355).
- CVE-2018-13348: Fix the mpatch_decode function in mpatch.c that mishandles certain situations where there should be at least 12 bytes remaining after thecurrent position in the patch data (bsc#1100353).
- Record
SUSE-SU-2018:1998-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
mercurialPyPI |
before 4.6.1 | 4.6.1 |
mercurialDebian:12 |
before 4.6.1-1 | 4.6.1-1 |
mercurialDebian:13 |
before 4.6.1-1 | 4.6.1-1 |
mercurialDebian:14 |
before 4.6.1-1 | 4.6.1-1 |
mercurialDebian:8 From an advisory covering 6 CVEs |
before 3.1.2-2+deb8u5, plus listed versions 3.1.2-23.1.2-2+deb8u13.1.2-2+deb8u23.1.2-2+deb8u33.1.2-2+deb8u4 |
3.1.2-2+deb8u5 |
mercurialDebian:9 From an advisory covering 6 CVEs |
before 4.0-1+deb9u2, plus listed versions 4.0-14.0-1+deb9u1 |
4.0-1+deb9u2 |
mercurialPyPI |
before 4.6.1, plus listed versions 0.8.10.90.9.10.9.20.9.3 Show 45 moreShow less0.9.40.9.51.01.0.11.0.21.11.1.11.1.21.21.2.11.31.3.11.41.4.11.4.21.4.31.51.5.11.5.21.5.31.5.41.61.6.11.6.21.6.31.6.41.71.7.11.7.21.7.31.7.51.81.8.11.8.21.8.31.8.41.91.9.11.9.21.9.32.02.0.12.0.22.12.1.1 |
4.6.1 |
mercurialMageia:5 From an advisory covering 4 CVEs |
before 4.6.2-1.mga5 | 4.6.2-1.mga5 |
mercurialMageia:6 From an advisory covering 4 CVEs |
before 4.6.2-1.mga6 | 4.6.2-1.mga6 |
mercurialSUSE:Linux Enterprise Software Development Kit 12 SP3 From an advisory covering 3 CVEs |
before 2.8.2-15.13.1 | 2.8.2-15.13.1 |
Show 6 moreShow less
| Package | Affected | Fixed |
|---|---|---|
mercurialSUSE:Linux Enterprise Software Development Kit 11 SP4 From an advisory covering 3 CVEs |
before 2.3.2-0.18.9.1 | 2.3.2-0.18.9.1 |
mercurialSUSE:Linux Enterprise Module for Development Tools 15 From an advisory covering 3 CVEs |
before 4.5.2-3.3.1 | 4.5.2-3.3.1 |
mercurialUbuntu:14.04:LTS |
before 2.8.2-1ubuntu1.4, plus listed versions 2.6.3-12.7.2-12.8.1-22.8.2-1ubuntu12.8.2-1ubuntu1.3 |
2.8.2-1ubuntu1.4 |
mercurialUbuntu:16.04:LTS |
before 3.7.3-1ubuntu1.1, plus listed versions 3.4-1ubuntu23.6.2-1ubuntu23.7.3-1ubuntu1 |
3.7.3-1ubuntu1.1 |
mercurialUbuntu:18.04:LTS |
before 4.5.3-1ubuntu2.1, plus listed versions 4.3.1-24.5-1ubuntu14.5.2-0ubuntu24.5.3-1ubuntu2 |
4.5.3-1ubuntu2.1 |
mercurialopenSUSE:Tumbleweed From an advisory covering 9 CVEs |
before 5.9.1-2.1 | 5.9.1-2.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| aliases | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2018-13348 is a high vulnerability (CVSS 7.5) in Mercurial, published July 5, 2018. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 2.15%, the 82nd percentile. Fixed in mercurial 4.6.1.
References
mercurial-scm.org/repo/hg/rev/90a274965de7
mercurial-scm.org/wiki/WhatsNew
lists.debian.org/debian-lts-announce/2020/07/msg00032.html
nvd.nist.gov/vuln/detail/CVE-2018-13348
github.com/pypa/advisory-database/tree/main/vulns/mercurial/PYSEC-2018-90.yaml
github.com/advisories/GHSA-3v62-ww8w-758m
Show 23 moreShow less
security-tracker.debian.org/tracker/CVE-2018-13348
advisories.mageia.org/MGASA-2018-0355.html
bugs.mageia.org/show_bug.cgi?id=22895
lists.opensuse.org/opensuse-updates/2018-04/msg00021.html
lists.opensuse.org/opensuse-updates/2018-07/msg00057.html
suse.com/support/update/announcement/2018/suse-su-20181990-1
bugzilla.suse.com/1100353
bugzilla.suse.com/1100354
bugzilla.suse.com/1100355
suse.com/security/cve/CVE-2018-13346
suse.com/security/cve/CVE-2018-13347
suse.com/security/cve/CVE-2018-13348
suse.com/support/update/announcement/2018/suse-su-20181996-1
suse.com/support/update/announcement/2018/suse-su-20181998-1
ubuntu.com/security/CVE-2018-13348
cve.org/CVERecord?id=CVE-2018-13348
suse.com/security/cve/CVE-2008-2942
suse.com/security/cve/CVE-2017-1000115
suse.com/security/cve/CVE-2017-1000116
suse.com/security/cve/CVE-2017-17458
suse.com/security/cve/CVE-2018-1000132
suse.com/security/cve/CVE-2018-17983
suse.com/security/cve/CVE-2019-3902
Left out here: 97 versions. The JSON record has them.