CVE-2019-18224CWE-787

CVE-2019-18224

Critical · published October 21, 2019

CVSS v3.1
9.8
EPSS
4%
Percentile
89.7
In the wild
Unconfirmed
What it is

⚠️ A long domain string is the ticket to a heap-based buffer overflow in GNU libidn2 before version 2.1.1! Think of it like a restaurant that lets anyone place a ridiculously oversized order without checking if the kitchen can handle it — the result could be chaos in the back, spilling over everywhere! An attacker could exploit this vulnerability to overflow the buffer, potentially leading to crashes or allowing malicious code to run. This might not be the worst-case scenario, but it can create instability for applications relying on this library, which is something nobody wants!

Put simply

Think of it like a restaurant that lets anyone place a ridiculously oversized order without checking if the kitchen can handle it — the result could be chaos in the back, spilling over everywhere! The vulnerability exists in the `idn2_to_ascii_4i` function within `lib/lookup.c`. When a long domain string is processed, it could overwrite adjacent memory, causing unexpected behavior.

What to do

An attacker could exploit this vulnerability to overflow the buffer, potentially leading to crashes or allowing malicious code to run. This might not be the worst-case scenario, but it can create instability for applications relying on this library, which is something nobody wants! Update to GNU libidn2 version 2.1.1 or later to mitigate this issue. Additionally, review how domain strings are handled in your application to ensure that they do not exceed expected lengths. You've got this! A quick update and some checks, and you'll be back in action. 🛡️

The record
Technical detail
CVSS v3.1
9.8 · CRITICAL
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.03708 · 89.7th percentile
Weakness
CWE-787 · Out-of-bounds Write
Published
2019-10-21T21:15Z
Affected products (1)
ProductVersionsFixed in
gnu/libidn2< 2.1.12.1.1
References (23)
http://lists.opensuse.org/opensuse-security-announce/2019-12/msg00008.html · [email protected]http://lists.opensuse.org/opensuse-security-announce/2019-12/msg00009.html · [email protected]https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=12420 · [email protected]https://github.com/libidn/libidn2/commit/e4d1558aa2c1c04a05066ee8600f37603890ba8c · [email protected]https://github.com/libidn/libidn2/compare/libidn2-2.1.0...libidn2-2.1.1 · [email protected]https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/JDQVQ2XPV5BTZUFINT7AFJSKNNBVURNJ/ · [email protected]https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/MINU5RKDFE6TKAFY5DRFN3WSFDS4DYVS/ · [email protected]https://seclists.org/bugtraq/2020/Feb/4 · [email protected]https://security.gentoo.org/glsa/202003-63 · [email protected]https://usn.ubuntu.com/4168-1/ · [email protected]https://www.debian.org/security/2020/dsa-4613 · [email protected]http://lists.opensuse.org/opensuse-security-announce/2019-12/msg00008.html · af854a3a-2127-422b-91ae-364da2661108http://lists.opensuse.org/opensuse-security-announce/2019-12/msg00009.html · af854a3a-2127-422b-91ae-364da2661108https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=12420 · af854a3a-2127-422b-91ae-364da2661108https://github.com/libidn/libidn2/commit/e4d1558aa2c1c04a05066ee8600f37603890ba8c · af854a3a-2127-422b-91ae-364da2661108https://github.com/libidn/libidn2/compare/libidn2-2.1.0...libidn2-2.1.1 · af854a3a-2127-422b-91ae-364da2661108https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/JDQVQ2XPV5BTZUFINT7AFJSKNNBVURNJ/ · af854a3a-2127-422b-91ae-364da2661108https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/MINU5RKDFE6TKAFY5DRFN3WSFDS4DYVS/ · af854a3a-2127-422b-91ae-364da2661108https://seclists.org/bugtraq/2020/Feb/4 · af854a3a-2127-422b-91ae-364da2661108https://security.gentoo.org/glsa/202003-63 · af854a3a-2127-422b-91ae-364da2661108https://usn.ubuntu.com/4168-1/ · af854a3a-2127-422b-91ae-364da2661108https://www.debian.org/security/2020/dsa-4613 · af854a3a-2127-422b-91ae-364da2661108https://cert-portal.siemens.com/productcert/html/ssa-398330.html · 0b142b55-0307-4c5a-b3c9-f314f3fb7c5e
EPSS history
Timeline
  • 21 OCT 16:21Z
    idn2_to_ascii_4i in lib/lookup.c in GNU libidn2 before 2.1.1 has a heap-based buffer overflow via a long domain string
    cvelistv5