CVE-2019-12290
GNU libidn2 before 2.2.0 fails to perform the roundtrip checks specified in RFC3490 Section 4.2...
GNU libidn2 before 2.2.0 fails to perform the roundtrip checks specified in RFC3490 Section 4.2 when converting A-labels to U-labels. This makes it possible in some circumstances for one domain to impersonate another. By creating a malicious domain that matches a target domain except for the inclusion of certain punycoded Unicode characters (that would be discarded when converted first to a Unicode label and then back to an ASCII label), arbitrary domains can be impersonated.
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
GNU libidn2 before 2.2.0 fails to perform the roundtrip checks specified in RFC3490 Section 4.2 when converting A-labels to U-labels. This makes it possible in some circumstances for one domain to impersonate another. By creating a malicious domain that matches a target domain except for the inclusion of certain punycoded Unicode characters (that would be discarded when converted first to a Unicode label and then back to an ASCII label), arbitrary domains can be impersonated.
- Record
CVE-2019-12290- CVSS 3.1
- 7.5 High
CVSS:3.1/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
GNU libidn2 before 2.2.0 fails to perform the roundtrip checks specified in RFC3490 Section 4.2 when converting A-labels to U-labels. This makes it possible in some circumstances for one domain to impersonate another. By creating a malicious domain that matches a target domain except for the inclusion of certain punycoded Unicode characters (that would be discarded when converted first to a Unicode label and then back to an ASCII label), arbitrary domains can be impersonated.
- Record
CVE-2019-12290- Updated
- 2026-11-02
EUVDEUVD-2019-3931 No score
GNU libidn2 before 2.2.0 fails to perform the roundtrip checks specified in RFC3490 Section 4.2 when converting A-labels to U-labels. This makes it possible in some circumstances for one domain to impersonate another. By creating a malicious domain that matches a target domain except for the inclusion of certain punycoded Unicode characters (that would be discarded when converted first to a Unicode label and then back to an ASCII label), arbitrary domains can be impersonated.
- Record
EUVD-2019-3931- Updated
- 2026-11-02
GitHub AdvisoriesGHSA-5pjp-55fh-7frw
7.5
GNU libidn2 before 2.2.0 fails to perform the roundtrip checks specified in RFC3490 Section 4.2...
GNU libidn2 before 2.2.0 fails to perform the roundtrip checks specified in RFC3490 Section 4.2 when converting A-labels to U-labels. This makes it possible in some circumstances for one domain to impersonate another. By creating a malicious domain that matches a target domain except for the inclusion of certain punycoded Unicode characters (that would be discarded when converted first to a Unicode label and then back to an ASCII label), arbitrary domains can be impersonated.
- Record
GHSA-5pjp-55fh-7frw- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Weakness
- CWE-20
- Updated
- 2026-11-02
OSVALPINE-CVE-2019-12290
7.5
GNU libidn2 before 2.2.0 fails to perform the roundtrip checks specified in RFC3490 Section 4.2 when converting A-labels to U-labels. This makes it possible in some circumstances for one domain to impersonate another. By creating a malicious domain that matches a target domain except for the inclusion of certain punycoded Unicode characters (that would be discarded when converted first to a Unicode label and then back to an ASCII label), arbitrary domains can be impersonated.
- Record
ALPINE-CVE-2019-12290- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Updated
- 2026-11-02
OSVBELL-CVE-2019-12290
7.5
CVE-2019-12290 does not affect BellSoft software
- Record
BELL-CVE-2019-12290- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Updated
- 2026-11-02
Show 9 moreShow less
OSV
7.5
GNU libidn2 before 2.2.0 fails to perform the roundtrip checks specified in RFC3490 Section 4.2 when converting A-labels to U-labels. This makes it possible in some circumstances for one domain to impersonate another. By creating a malicious domain that matches a target domain except for the inclusion of certain punycoded Unicode characters (that would be discarded when converted first to a Unicode label and then back to an ASCII label), arbitrary domains can be impersonated.
- Record
CVE-2019-12290- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Updated
- 2026-11-02
OSVDEBIAN-CVE-2019-12290
7.5
GNU libidn2 before 2.2.0 fails to perform the roundtrip checks specified in RFC3490 Section 4.2 when converting A-labels to U-labels. This makes it possible in some circumstances for one domain to impersonate another. By creating a malicious domain that matches a target domain except for the inclusion of certain punycoded Unicode characters (that would be discarded when converted first to a Unicode label and then back to an ASCII label), arbitrary domains can be impersonated.
- Record
DEBIAN-CVE-2019-12290- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Updated
- 2026-11-02
OSVUBUNTU-CVE-2019-12290
7.5
GNU libidn2 before 2.2.0 fails to perform the roundtrip checks specified in RFC3490 Section 4.2 when converting A-labels to U-labels. This makes it possible in some circumstances for one domain to impersonate another. By creating a malicious domain that matches a target domain except for the inclusion of certain punycoded Unicode characters (that would be discarded when converted first to a Unicode label and then back to an ASCII label), arbitrary domains can be impersonated.
- Record
UBUNTU-CVE-2019-12290- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Updated
- 2026-11-02
OSVMGASA-2019-0416 No score
Updated libidn2 packages fix security vulnerabilities
Updated libidn2 packages fix security vulnerabilities:
It was discovered that Libidn2 incorrectly handled certain inputs. A attacker could possibly use this issue to impersonate domains (CVE-2019-12290).
It was discovered that Libidn2 incorrectly handled certain inputs. An attacker could possibly use this issue to execute arbitrary code (CVE-2019-18224).
- Record
MGASA-2019-0416- Updated
- 2026-11-02
OSVopenSUSE-SU-2019:2611-1 No score
Security update for libidn2
This update for libidn2 to version 2.2.0 fixes the following issues:
- CVE-2019-12290: Fixed an improper round-trip check when converting A-labels to U-labels (bsc#1154884).
- CVE-2019-18224: Fixed a heap-based buffer overflow that was caused by long domain strings (bsc#1154887).
This update was imported from the SUSE:SLE-15:Update update project.
- Record
openSUSE-SU-2019:2611-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2019:2613-1 No score
Security update for libidn2
This update for libidn2 to version 2.2.0 fixes the following issues:
- CVE-2019-12290: Fixed an improper round-trip check when converting A-labels to U-labels (bsc#1154884).
- CVE-2019-18224: Fixed a heap-based buffer overflow that was caused by long domain strings (bsc#1154887).
This update was imported from the SUSE:SLE-15:Update update project.
- Record
openSUSE-SU-2019:2613-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:10950-1 No score
libidn2-0-2.3.2-1.2 on GA media
These are all security issues fixed in the libidn2-0-2.3.2-1.2 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:10950-1- Updated
- 2026-11-02
OSVSUSE-SU-2019:3086-1 No score
Security update for libidn2
This update for libidn2 to version 2.2.0 fixes the following issues:
- CVE-2019-12290: Fixed an improper round-trip check when converting A-labels to U-labels (bsc#1154884).
- CVE-2019-18224: Fixed a heap-based buffer overflow that was caused by long domain strings (bsc#1154887).
- Record
SUSE-SU-2019:3086-1- Updated
- 2026-11-02
OSVUSN-4168-1 No score
libidn2 vulnerabilities
It was discovered that Libidn2 incorrectly handled certain inputs. A attacker could possibly use this issue to impersonate domains. (CVE-2019-12290)
It was discovered that Libidn2 incorrectly handled certain inputs. An attacker could possibly use this issue to execute arbitrary code. (CVE-2019-18224)
- Record
USN-4168-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
libidn2Alpine:v3.12 |
before 2.2.0-r0 | 2.2.0-r0 |
libidn2Alpine:v3.13 |
before 2.2.0-r0 | 2.2.0-r0 |
libidn2Alpine:v3.14 |
before 2.2.0-r0 | 2.2.0-r0 |
libidn2Alpine:v3.15 |
before 2.2.0-r0 | 2.2.0-r0 |
libidn2Alpine:v3.16 |
before 2.2.0-r0 | 2.2.0-r0 |
libidn2Alpine:v3.17 |
before 2.2.0-r0 | 2.2.0-r0 |
libidn2Alpine:v3.18 |
before 2.2.0-r0 | 2.2.0-r0 |
libidn2Alpine:v3.19 |
before 2.2.0-r0 | 2.2.0-r0 |
libidn2Alpine:v3.20 |
before 2.2.0-r0 | 2.2.0-r0 |
libidn2Alpine:v3.21 |
before 2.2.0-r0 | 2.2.0-r0 |
Show 15 moreShow less
| Package | Affected | Fixed |
|---|---|---|
libidn2Alpine:v3.22 |
before 2.2.0-r0 | 2.2.0-r0 |
libidn2Alpine:v3.23 |
before 2.2.0-r0 | 2.2.0-r0 |
libidn2Alpine:v3.24 |
before 2.2.0-r0 | 2.2.0-r0 |
libidn2Debian:12 |
before 2.2.0-1 | 2.2.0-1 |
libidn2Debian:13 |
before 2.2.0-1 | 2.2.0-1 |
libidn2Debian:14 |
before 2.2.0-1 | 2.2.0-1 |
libidn2Mageia:7 From an advisory covering 2 CVEs |
before 2.2.0-1.mga7 | 2.2.0-1.mga7 |
libidn2SUSE:Linux Enterprise Module for Basesystem 15 From an advisory covering 2 CVEs |
before 2.2.0-3.3.1 | 2.2.0-3.3.1 |
libidn2SUSE:Linux Enterprise Module for Basesystem 15 SP1 From an advisory covering 2 CVEs |
before 2.2.0-3.3.1 | 2.2.0-3.3.1 |
libidn2-0Ubuntu:Pro:14.04:LTS |
All versions, plus listed versions 0.9-10.9-1ubuntu0.1~esm1 |
None known |
libidn2-0Ubuntu:Pro:16.04:LTS |
All versions, plus listed versions 0.10-30.10-3ubuntu0.1~esm1 |
None known |
libidn2Ubuntu:18.04:LTS |
before 2.0.4-1.1ubuntu0.2, plus listed versions 2.0.4-12.0.4-1.12.0.4-1.1build2 |
2.0.4-1.1ubuntu0.2 |
libidn2Ubuntu:18.04:LTS From an advisory covering 2 CVEs |
before 2.0.4-1.1ubuntu0.2, plus listed versions 2.0.4-12.0.4-1.12.0.4-1.1build2 |
2.0.4-1.1ubuntu0.2 |
libidn2openSUSE:Leap 15.1 From an advisory covering 2 CVEs |
before 2.2.0-lp151.3.3.1 | 2.2.0-lp151.3.3.1 |
libidn2openSUSE:Leap 15.0 From an advisory covering 2 CVEs |
before 2.2.0-lp150.2.3.1 | 2.2.0-lp150.2.3.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2019-12290 is a high vulnerability (CVSS 7.5) in Gnu Libidn2, published October 22, 2019. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 3.23%, the 88th percentile. Fixed in libidn2 2.2.0-r0.
References
gitlab.com/libidn/libidn2/merge_requests/71
gitlab.com/libidn/libidn2/commit/241e8f486134793cb0f4a5b0e5817a97883401f5
gitlab.com/libidn/libidn2/commit/614117ef6e4c60e1950d742e3edf0a0ef8d389de
usn.ubuntu.com/4168-1
lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/U6ZXL2RDNQRAHCMKWPOMJFKYJ344X4HL
lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/3UFT76Y7OSGPZV3EBEHD6ISVUM3DLARM
Show 25 moreShow less
lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/KXDKYWFV6N2HHVSE67FFDM7G3FEL2ZNE
lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/RSI4TI2JTQWQ3YEUX5X36GTVGKO4QKZ5
lists.opensuse.org/opensuse-security-announce/2019-12/msg00009.html
lists.opensuse.org/opensuse-security-announce/2019-12/msg00008.html
lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/ONG3GJRRJO35COPGVJXXSZLU4J5Y42AT
security.gentoo.org/glsa/202003-63
cert-portal.siemens.com/productcert/html/ssa-398330.html
nvd.nist.gov/vuln/detail/CVE-2019-12290
github.com/advisories/GHSA-5pjp-55fh-7frw
security.alpinelinux.org/vuln/CVE-2019-12290
docs.bell-sw.com/security/cves/CVE-2019-12290
security-tracker.debian.org/tracker/CVE-2019-12290
advisories.mageia.org/MGASA-2019-0416.html
bugs.mageia.org/show_bug.cgi?id=25652
suse.com/support/update/announcement/2019/suse-su-20193086-1
bugzilla.suse.com/1154884
bugzilla.suse.com/1154887
suse.com/security/cve/CVE-2019-12290
suse.com/security/cve/CVE-2019-18224
ubuntu.com/security/CVE-2019-12290
ubuntu.com/security/notices/USN-4168-1
cve.org/CVERecord?id=CVE-2019-12290
ubuntu.com/security/CVE-2019-18224
lists.opensuse.org/archives/list/[email protected]/thread/X7ZUBC27FFSQ6NLYE4F6HZ22CMNU2UJV
lists.opensuse.org/archives/list/[email protected]/thread/KRSAKATJHG3HSIHWNI5KWAI67IUCJBGE