CVE-2017-14952
Double free in i18n/zonemeta.cpp in International Components for Unicode (ICU) for C/C++ through...
Double free in i18n/zonemeta.cpp in International Components for Unicode (ICU) for C/C++ through 59.1 allows remote attackers to execute arbitrary code via a crafted string, aka a "redundant UVector entry clean up function call" issue.
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
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
NVD Score used
9.8
Double free in i18n/zonemeta.cpp in International Components for Unicode (ICU) for C/C++ through 59.1 allows remote attackers to execute arbitrary code via a crafted string, aka a "redundant UVector entry clean up function call" issue.
- Record
CVE-2017-14952- CVSS 3.0
- 9.8 Critical
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - CVSS 2.0
- 7.5 High
AV:N/AC:L/Au:N/C:P/I:P/A:P - Weakness
- CWE-415
- Updated
- 2026-11-02
CVE List No score
Double free in i18n/zonemeta.cpp in International Components for Unicode (ICU) for C/C++ through 59.1 allows remote attackers to execute arbitrary code via a crafted string, aka a "redundant UVector entry clean up function call" issue.
- Record
CVE-2017-14952- Updated
- 2026-11-02
EUVDEUVD-2017-6428 No score
Double free in i18n/zonemeta.cpp in International Components for Unicode (ICU) for C/C++ through 59.1 allows remote attackers to execute arbitrary code via a crafted string, aka a "redundant UVector entry clean up function call" issue.
- Record
EUVD-2017-6428- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-35gv-g55r-237w
9.8
Double free in i18n/zonemeta.cpp in International Components for Unicode (ICU) for C/C++ through...
Double free in i18n/zonemeta.cpp in International Components for Unicode (ICU) for C/C++ through 59.1 allows remote attackers to execute arbitrary code via a crafted string, aka a "redundant UVector entry clean up function call" issue.
- Record
GHSA-35gv-g55r-237w- CVSS 3.0
- 9.8 Critical
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-415
- Updated
- 2026-11-02
OSV
9.8
Double free in i18n/zonemeta.cpp in International Components for Unicode (ICU) for C/C++ through 59.1 allows remote attackers to execute arbitrary code via a crafted string, aka a "redundant UVector entry clean up function call" issue.
- Record
CVE-2017-14952- CVSS 3.0
- 9.8 Critical
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVDEBIAN-CVE-2017-14952
9.8
Double free in i18n/zonemeta.cpp in International Components for Unicode (ICU) for C/C++ through 59.1 allows remote attackers to execute arbitrary code via a crafted string, aka a "redundant UVector entry clean up function call" issue.
- Record
DEBIAN-CVE-2017-14952- CVSS 3.0
- 9.8 Critical
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
Show 6 moreShow less
OSVUBUNTU-CVE-2017-14952
9.8
Double free in i18n/zonemeta.cpp in International Components for Unicode (ICU) for C/C++ through 59.1 allows remote attackers to execute arbitrary code via a crafted string, aka a "redundant UVector entry clean up function call" issue.
- Record
UBUNTU-CVE-2017-14952- CVSS 3.0
- 9.8 Critical
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVMGASA-2017-0411 No score
Updated icu packages fix security vulnerability
Updated icu packages fix security vulnerability:
Double free in i18n/zonemeta.cpp in International Components for Unicode (ICU) for C/C++ through 59.1 allows remote attackers to execute arbitrary code via a crafted string, aka a "redundant UVector entry clean up function call" issue (CVE-2017-14952).
- Record
MGASA-2017-0411- Updated
- 2026-11-02
OSVSUSE-SU-2018:1401-1 No score
Security update for icu
icu was updated to fix two security issues.
These security issues were fixed:
- CVE-2014-8147: The resolveImplicitLevels function in common/ubidi.c in the Unicode Bidirectional Algorithm implementation in ICU4C in International Components for Unicode (ICU) used an integer data type that is inconsistent with a header file, which allowed remote attackers to cause a denial of service (incorrect malloc followed by invalid free) or possibly execute arbitrary code via crafted text (bsc#929629).
- CVE-2014-8146: The resolveImplicitLevels function in common/ubidi.c in the Unicode Bidirectional Algorithm implementation in ICU4C in International Components for Unicode (ICU) did not properly track directionally isolated pieces of text, which allowed remote attackers to cause a denial of service (heap-based buffer overflow) or possibly execute arbitrary code via crafted text (bsc#929629).
- CVE-2016-6293: The uloc_acceptLanguageFromHTTP function in common/uloc.cpp in International Components for Unicode (ICU) for C/C++ did not ensure that there is a '\0' character at the end of a certain temporary array, which allowed remote attackers to cause a denial of service (out-of-bounds read) or possibly have unspecified other impact via a call with a long httpAcceptLanguage argument (bsc#990636).
- CVE-2017-7868: International Components for Unicode (ICU) for C/C++ 2017-02-13 has an out-of-bounds write caused by a heap-based buffer overflow related to the utf8TextAccess function in common/utext.cpp and the utext_moveIndex32* function (bsc#1034674)
- CVE-2017-7867: International Components for Unicode (ICU) for C/C++ 2017-02-13 has an out-of-bounds write caused by a heap-based buffer overflow related to the utf8TextAccess function in common/utext.cpp and the utext_setNativeIndex* function (bsc#1034678)
- CVE-2017-14952: Double free in i18n/zonemeta.cpp in International Components for Unicode (ICU) for C/C++ allowed remote attackers to execute arbitrary code via a crafted string, aka a 'redundant UVector entry clean up function call' issue (bnc#1067203)
- CVE-2017-17484: The ucnv_UTF8FromUTF8 function in ucnv_u8.cpp in International Components for Unicode (ICU) for C/C++ mishandled ucnv_convertEx calls for UTF-8 to UTF-8 conversion, which allowed remote attackers to cause a denial of service (stack-based buffer overflow and application crash) or possibly have unspecified other impact via a crafted string, as demonstrated by ZNC (bnc#1072193)
- CVE-2017-15422: An integer overflow in icu during persian calendar date processing could lead to incorrect years shown (bnc#1077999)
- Record
SUSE-SU-2018:1401-1- Updated
- 2026-11-02
OSVSUSE-SU-2018:1401-2 No score
Security update for icu
icu was updated to fix two security issues.
These security issues were fixed:
- CVE-2014-8147: The resolveImplicitLevels function in common/ubidi.c in the Unicode Bidirectional Algorithm implementation in ICU4C in International Components for Unicode (ICU) used an integer data type that is inconsistent with a header file, which allowed remote attackers to cause a denial of service (incorrect malloc followed by invalid free) or possibly execute arbitrary code via crafted text (bsc#929629).
- CVE-2014-8146: The resolveImplicitLevels function in common/ubidi.c in the Unicode Bidirectional Algorithm implementation in ICU4C in International Components for Unicode (ICU) did not properly track directionally isolated pieces of text, which allowed remote attackers to cause a denial of service (heap-based buffer overflow) or possibly execute arbitrary code via crafted text (bsc#929629).
- CVE-2016-6293: The uloc_acceptLanguageFromHTTP function in common/uloc.cpp in International Components for Unicode (ICU) for C/C++ did not ensure that there is a '\0' character at the end of a certain temporary array, which allowed remote attackers to cause a denial of service (out-of-bounds read) or possibly have unspecified other impact via a call with a long httpAcceptLanguage argument (bsc#990636).
- CVE-2017-7868: International Components for Unicode (ICU) for C/C++ 2017-02-13 has an out-of-bounds write caused by a heap-based buffer overflow related to the utf8TextAccess function in common/utext.cpp and the utext_moveIndex32* function (bsc#1034674)
- CVE-2017-7867: International Components for Unicode (ICU) for C/C++ 2017-02-13 has an out-of-bounds write caused by a heap-based buffer overflow related to the utf8TextAccess function in common/utext.cpp and the utext_setNativeIndex* function (bsc#1034678)
- CVE-2017-14952: Double free in i18n/zonemeta.cpp in International Components for Unicode (ICU) for C/C++ allowed remote attackers to execute arbitrary code via a crafted string, aka a 'redundant UVector entry clean up function call' issue (bnc#1067203)
- CVE-2017-17484: The ucnv_UTF8FromUTF8 function in ucnv_u8.cpp in International Components for Unicode (ICU) for C/C++ mishandled ucnv_convertEx calls for UTF-8 to UTF-8 conversion, which allowed remote attackers to cause a denial of service (stack-based buffer overflow and application crash) or possibly have unspecified other impact via a crafted string, as demonstrated by ZNC (bnc#1072193)
- CVE-2017-15422: An integer overflow in icu during persian calendar date processing could lead to incorrect years shown (bnc#1077999)
- Record
SUSE-SU-2018:1401-2- Updated
- 2026-11-02
OSVSUSE-SU-2018:1602-1 No score
Security update for icu
This update for icu fixes the following issues:
- CVE-2016-6293: The uloc_acceptLanguageFromHTTP function in common/uloc.cpp did not ensure that there is a '\0' character at the end of a certain temporary array, which allows remote attackers to cause a denial of service (out-of-bounds read) or possibly have unspecified other impact via a call with a long httpAcceptLanguage argument. (bsc#990636)
- CVE-2017-7868: ICU had an out-of-bounds write caused by a heap-based buffer overflow related to the utf8TextAccess function in common/utext.cpp and the utext_moveIndex32* function. (bsc#1034674)
- CVE-2017-7867: ICU had an out-of-bounds write caused by a heap-based buffer overflow related to the utf8TextAccess function in common/utext.cpp and the utext_setNativeIndex* function. (bsc#1034678)
- CVE-2017-14952: Double free in i18n/zonemeta.cpp allowed remote attackers to execute arbitrary code via a crafted string, aka a 'redundant UVector entry clean up function call' issue. (bsc#1067203)
- CVE-2017-17484:The ucnv_UTF8FromUTF8 function in ucnv_u8.cpp mishandled ucnv_convertEx calls for UTF-8 to UTF-8 conversion, which allows remote attackers to cause a denial of service (stack-based buffer overflow and application crash) or possibly have unspecified other impact via a crafted string, as demonstrated by ZNC. (bsc#1072193)
- CVE-2017-15422: An integer overflow in persian calendar calculation was fixed, which could show wrong years. (bsc#1077999)
- Record
SUSE-SU-2018:1602-1- Updated
- 2026-11-02
OSVUSN-3458-1 No score
icu vulnerability
It was discovered that ICU incorrectly handled certain inputs. If an application using ICU processed crafted data, a remote attacker could possibly cause it to crash or potentially execute arbitrary code with the privileges of the user invoking the program.
- Record
USN-3458-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
icuDebian:12 |
before 57.1-7 | 57.1-7 |
icuDebian:13 |
before 57.1-7 | 57.1-7 |
icuDebian:14 |
before 57.1-7 | 57.1-7 |
icuMageia:5 |
before 53.1-12.8.mga5 | 53.1-12.8.mga5 |
icuMageia:6 |
before 58.2-3.1.mga6 | 58.2-3.1.mga6 |
icuSUSE:OpenStack Cloud 7 From an advisory covering 8 CVEs |
before 52.1-8.7.1 | 52.1-8.7.1 |
icuSUSE:Linux Enterprise Desktop 12 SP3 From an advisory covering 8 CVEs |
before 52.1-8.7.1 | 52.1-8.7.1 |
icuSUSE:Linux Enterprise Server for SAP Applications 12 SP1 From an advisory covering 8 CVEs |
before 52.1-8.7.1 | 52.1-8.7.1 |
icuSUSE:Linux Enterprise Server for SAP Applications 12 SP2 From an advisory covering 8 CVEs |
before 52.1-8.7.1 | 52.1-8.7.1 |
icuSUSE:Linux Enterprise Software Development Kit 12 SP3 From an advisory covering 8 CVEs |
before 52.1-8.7.1 | 52.1-8.7.1 |
Show 13 moreShow less
| Package | Affected | Fixed |
|---|---|---|
icuSUSE:Linux Enterprise Server 12-LTSS From an advisory covering 8 CVEs |
before 52.1-8.7.1 | 52.1-8.7.1 |
icuSUSE:Linux Enterprise Server 12 SP1-LTSS From an advisory covering 8 CVEs |
before 52.1-8.7.1 | 52.1-8.7.1 |
icuSUSE:Linux Enterprise Server 12 SP2-LTSS From an advisory covering 8 CVEs |
before 52.1-8.7.1 | 52.1-8.7.1 |
icuSUSE:Linux Enterprise Server 12 SP3 From an advisory covering 8 CVEs |
before 52.1-8.7.1 | 52.1-8.7.1 |
icuSUSE:Linux Enterprise Server for SAP Applications 12 SP3 From an advisory covering 8 CVEs |
before 52.1-8.7.1 | 52.1-8.7.1 |
icuSUSE:Linux Enterprise Workstation Extension 12 SP3 From an advisory covering 8 CVEs |
before 52.1-8.7.1 | 52.1-8.7.1 |
icuSUSE:Enterprise Storage 4 From an advisory covering 8 CVEs |
before 52.1-8.7.1 | 52.1-8.7.1 |
icuSUSE:Linux Enterprise Server 12 SP2-BCL From an advisory covering 8 CVEs |
before 52.1-8.7.1 | 52.1-8.7.1 |
icuSUSE:Linux Enterprise Software Development Kit 11 SP4 From an advisory covering 6 CVEs |
before 4.0-47.6.1 | 4.0-47.6.1 |
icuSUSE:Linux Enterprise Server 11 SP4 From an advisory covering 6 CVEs |
before 4.0-47.6.1 | 4.0-47.6.1 |
icuSUSE:Linux Enterprise Server for SAP Applications 11 SP4 From an advisory covering 6 CVEs |
before 4.0-47.6.1 | 4.0-47.6.1 |
icuUbuntu:14.04:LTS |
before 52.1-3ubuntu0.7, plus listed versions 4.8.1.1-12ubuntu24.8.1.1-13+nmu14.8.1.1-13+nmu1ubuntu152.1-352.1-3ubuntu0.2 Show 4 moreShow less52.1-3ubuntu0.352.1-3ubuntu0.452.1-3ubuntu0.552.1-3ubuntu0.6 |
52.1-3ubuntu0.7 |
icuUbuntu:16.04:LTS |
before 55.1-7ubuntu0.3, plus listed versions 55.1-4ubuntu155.1-6ubuntu155.1-755.1-7ubuntu0.155.1-7ubuntu0.2 |
55.1-7ubuntu0.3 |
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-2017-14952 is a critical vulnerability (CVSS 9.8) in Icu-project International Components For Unicode, published October 16, 2017. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 5.10%, the 92nd percentile. Fixed in icu 57.1-7.
References
sourcebrella.com/blog/double-free-vulnerability-international-components-unicode-icu
bugs.icu-project.org/trac/changeset/40324/trunk/icu4c/source/i18n/zonemeta.cpp
oracle.com/technetwork/security-advisory/cpuapr2019-5072813.html
nvd.nist.gov/vuln/detail/CVE-2017-14952
github.com/advisories/GHSA-35gv-g55r-237w
security-tracker.debian.org/tracker/CVE-2017-14952
Show 25 moreShow less
advisories.mageia.org/MGASA-2017-0411.html
bugs.mageia.org/show_bug.cgi?id=21929
suse.com/support/update/announcement/2018/suse-su-20181401-1
bugzilla.suse.com/1034674
bugzilla.suse.com/1034678
bugzilla.suse.com/1067203
bugzilla.suse.com/1072193
bugzilla.suse.com/1077999
bugzilla.suse.com/1087932
bugzilla.suse.com/929629
bugzilla.suse.com/990636
suse.com/security/cve/CVE-2014-8146
suse.com/security/cve/CVE-2014-8147
suse.com/security/cve/CVE-2016-6293
suse.com/security/cve/CVE-2017-14952
suse.com/security/cve/CVE-2017-15422
suse.com/security/cve/CVE-2017-17484
suse.com/security/cve/CVE-2017-7867
suse.com/security/cve/CVE-2017-7868
suse.com/support/update/announcement/2018/suse-su-20181401-2
suse.com/support/update/announcement/2018/suse-su-20181602-1
ubuntu.com/security/CVE-2017-14952
ubuntu.com/security/notices/USN-3458-1
ubuntu.com/security/notices/USN-3458-2
cve.org/CVERecord?id=CVE-2017-14952