High
Security advisory
An issue was discovered in GnuTLS before 3.6.15. A server can trigger a NULL pointer dereference in a TLS 1.3 client if a no_renegotiation alert is sent with unexpected timing, and then an invalid second handshake occurs. The crash happens in the application's error handling path, where the gnutls_deinit function is called after detecting a handshake failure.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2020-24659
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 1 Nov 2026, 08:45 UTC · Revision 1
Source evidence
An issue was discovered in GnuTLS before 3.6.15. A server can trigger a NULL pointer dereference in a TLS 1.3 client if a no_renegotiation alert is sent with unexpected timing, and then an invalid second handshake occurs. The crash happens in the application's error handling path, where the gnutls_deinit function is called after detecting a handshake failure.
osv:CVE-2020-24659
Complete source record
{
"id": "7934361d98a2cc1d67ec01e7b373860f5a6d0d3c3138c36c526bc305bb6fb8b8",
"url": "https://osv.dev/vulnerability/CVE-2020-24659",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "CVE-2020-24659",
"summary": "An issue was discovered in GnuTLS before 3.6.15. A server can trigger a NULL pointer dereference in a TLS 1.3 client if a no_renegotiation alert is sent with unexpected timing, and then an invalid second handshake occurs. The crash happens in the application's error handling path, where the gnutls_deinit function is called after detecting a handshake failure.",
"evidence": "osv:CVE-2020-24659",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2020-24659",
"aliases": [
"CVE-2020-24659"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/gnutls/gnutls",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "5dd9a55040da54371807471bf3169d7a9a1f527e"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:gnu:gnutls:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "0"
},
{
"fixed": "3.6.15"
}
],
"source": "CPE_RANGE"
}
]
}
}
],
"versions": [
"3.6.14",
"3.6.13",
"gnutls_3_6_12",
"3.6.12",
"gnutls_3_6_11_1",
"gnutls_3_6_11",
"gnutls_3_6_10",
"gnutls_3_6_9",
"gnutls_3_6_7",
"gnutls_3_6_6",
"gnutls_3_6_5",
"gnutls_3_6_4",
"gnutls_3_6_3",
"gnutls_3_6_2",
"gnutls_3_6_1",
"gnutls_3_6_0_1",
"gnutls_3_6_0",
"gnutls_3_5_7",
"gnutls_3_5_5",
"gnutls_3_5_4",
"gnutls_3_5_3",
"gnutls_3_5_2",
"gnutls_3_5_1",
"gnutls_3_5_0",
"gnutls_3_4_3",
"gnutls_3_4_2",
"gnutls_3_4_1",
"gnutls_3_4_0",
"gnutls_3_3_6",
"gnutls_3_3_5",
"gnutls_3_3_4",
"gnutls_3_3_3",
"gnutls_3_3_2",
"gnutls_3_3_1",
"gnutls_3_3_0",
"gnutls_3_2_6",
"gnutls_3_2_5",
"gnutls_3_2_4",
"gnutls_3_2_3",
"gnutls_3_2_3pre0",
"gnutls_3_2_2",
"gnutls_3_2_0",
"gnutls_3_1_9",
"gnutls_3_1_8",
"gnutls_3_1_7",
"gnutls_3_1_6",
"gnutls_3_1_5",
"gnutls_3_1_4",
"gnutls_3_1_3",
"gnutls_3_1_2",
"gnutls_3_1_0",
"gnutls_3_1_0pre0",
"gnutls_3_0_21",
"gnutls_3_0_18",
"gnutls_3_0_17",
"gnutls_3_0_16",
"gnutls_3_0_15",
"gnutls_3_0_14",
"gnutls_3_0_13",
"gnutls-3_0_12",
"gnutls_3_0_11",
"gnutls_3_0_10",
"gnutls_3_0_9",
"gnutls_3_0_8",
"gnutls_3_0_7",
"gnutls_3_0_6",
"gnutls_3_0_5",
"gnutls_3_0_4",
"gnutls_3_0_3",
"gnutls_3_0_2",
"gnutls_3_0_0",
"gnutls_2_99_4",
"gnutls_2_99_3",
"gnutls_2_99_2",
"gnutls_2_99_1",
"gnutls_2_99_0",
"gnutls_2_11_6",
"gnutls_2_11_5",
"gnutls_2_11_4",
"gnutls_2_11_3",
"gnutls_2_9_10",
"gnutls_2_9_9",
"gnutls_2_9_8",
"gnutls_2_9_7",
"gnutls_2_9_6",
"gnutls_2_9_5",
"gnutls_2_9_4",
"gnutls_2_9_3",
"gnutls_2_9_2",
"gnutls_2_7_12",
"gnutls_2_7_11",
"gnutls_2_7_10",
"gnutls_2_7_9",
"gnutls_2_7_8",
"gnutls_2_7_7",
"gnutls_2_7_6",
"gnutls_2_7_5",
"gnutls_2_7_4",
"gnutls_2_7_3",
"gnutls_2_7_1",
"gnutls_2_7_0",
"gnutls_2_5_8",
"gnutls_2_5_7",
"gnutls_2_5_6",
"gnutls_2_5_4",
"gnutls_2_5_3",
"gnutls_2_5_2",
"gnutls_2_5_1",
"gnutls_2_5_0",
"gnutls_2_4_0",
"gnutls_2_3_15",
"gnutls_2_3_14",
"gnutls_2_3_13",
"gnutls_2_3_12",
"gnutls_2_3_11",
"gnutls_2_3_10",
"gnutls_2_3_9",
"gnutls_2_3_8",
"gnutls_2_3_7",
"gnutls_2_3_6",
"gnutls_2_3_5",
"gnutls_2_3_3",
"gnutls_2_3_1",
"gnutls_2_3_0",
"gnutls_2_1_8",
"gnutls_2_1_7",
"gnutls_2_1_6",
"gnutls_2_1_5",
"gnutls_2_1_4",
"gnutls_2_1_3",
"gnutls_2_1_2",
"gnutls_2_0_1",
"gnutls_2_1_1",
"gnutls_2_1_0",
"gnutls_2_0_0",
"gnutls_1_7_19",
"gnutls_1_7_18",
"gnutls_1_7_17",
"gnutls_1_7_16",
"gnutls_1_7_15",
"gnutls_1_7_14",
"gnutls_1_7_13",
"gnutls_1_7_12",
"gnutls_1_7_11",
"gnutls_1_7_10",
"gnutls_1_7_9",
"gnutls_1_7_8",
"gnutls_1_7_7",
"gnutls_1_7_6",
"gnutls_1_7_5",
"gnutls_1_7_4",
"gnutls_1_7_3",
"gnutls_1_7_2",
"gnutls_1_7_1",
"gnutls_1_6_1",
"gnutls_1_7_0",
"gnutls_1_6_0",
"gnutls_1_5_5",
"gnutls_1_5_4",
"gnutls_1_5_3",
"gnutls_1_5_2",
"gnutls_1_5_1",
"gnutls_1_5_0",
"gnutls_1_4_2",
"gnutls_1_4_1",
"gnutls_1_4_0",
"gnutls_1_2_11",
"gnutls_1_3_5",
"gnutls_1_3_4",
"gnutls_1_2_10",
"gnutls_1_3_3",
"gnutls_1_3_2",
"gnutls_1_3_1",
"gnutls_1_3_0",
"gnutls_1_2_9",
"gnutls_1_2_8",
"gnutls_1_2_7",
"gnutls_1_2_6",
"gnutls_1_2_5",
"gnutls_1_2_4",
"gnutls_1_2_3",
"gnutls_1_0_25",
"gnutls_1_2_2",
"gnutls_1_2_1",
"gnutls_1_2_0",
"gnutls_1_0_24",
"gnutls_1_1_23",
"gnutls_1_0_23",
"gnutls_1_1_22",
"gnutls_1_0_22",
"gnutls_1_1_21",
"gnutls_1_1_20",
"gnutls_1_1_19",
"gnutls_1_0_21",
"gnutls_1_1_18",
"gnutls_1_1_17",
"gnutls_1_0_20",
"gnutls_1_1_16",
"gnutls_1_1_15",
"gnutls_1_1_14",
"gnutls_1_1_13",
"gnutls_1_1_12",
"gnutls_1_1_11",
"gnutls_1_1_10",
"gnutls_1_1_9",
"gnutls_1_1_8",
"gnutls_1_1_7",
"gnutls_1_1_7_pre0",
"gnutls_1_1_6",
"gnutls_1_1_5",
"gnutls_1_1_4",
"gnutls_1_1_3",
"gnutls_1_1_2",
"gnutls_1_1_1",
"gnutls_1_1_0",
"gnutls_1_0_0",
"gnutls_0_9_99",
"gnutls_0_9_98",
"gnutls_0_9_97",
"gnutls_0_9_96",
"gnutls_0_9_95",
"gnutls_0_9_94",
"gnutls_0_9_93",
"gnutls_0_9_92",
"gnutls_0_9_91",
"gnutls_0_9_90",
"gnutls_0_9_8",
"gnutls_0_9_7",
"gnutls_0_9_6",
"gnutls_0_9_5",
"gnutls_0_9_4",
"gnutls_0_9_3",
"gnutls_0_9_2",
"gnutls_0_9_1",
"gnutls_0_8_1",
"gnutls_0_8_0",
"gnutls_0_6_0",
"gnutls_0_5_11",
"gnutls_0_5_10",
"gnutls_0_5_x_before_int_fixes",
"gnutls_0_5_9",
"gnutls_0_5_8",
"gnutls_0_5_7",
"gnutls_0_5_6",
"gnutls_0_5_5",
"gnutls_0_5_x_before_types_change",
"gnutls_0_5_4",
"gnutls_0_5_x_with_export_ciphersuites",
"gnutls_0_5_x_before_export_ciphersuites",
"gnutls_0_5_1",
"gnutls_0_5_0",
"gnutls_0_4_with_libtasn1",
"gnutls_0_4_3",
"gnutls_0_4_2",
"gnutls_0_4_1",
"gnutls_0_4_0",
"gnutls_0_3_92",
"gnutls_0_3_91",
"gnutls_0_3_90",
"gnutls_0_3_2",
"gnutls_0_3_1",
"gnutls_0_3_0",
"gnutls_0_2_91",
"gnutls_0_2_90",
"gnutls_0_2_11",
"gnutls_0_2_10",
"gnutls_0_2_9",
"gnutls_0_2_4",
"gnutls_0_2_3",
"gnutls_0_2_2",
"gnutls_0_2_1",
"gnutls_0_2_0",
"gnutls_0_1_9",
"gnutls_0_1_4",
"gnutls-0_1_2",
"gnutls-0-1-0-srp",
"gnutls-0-0-7",
"gnutls0-0-6",
"gnutls0-0-5",
"gnutls0-0-4"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2020-24659.json"
}
},
{
"ranges": [
{
"repo": "https://gitlab.com/gnutls/gnutls",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "5dd9a55040da54371807471bf3169d7a9a1f527e"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:gnu:gnutls:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "0"
},
{
"fixed": "3.6.15"
}
],
"source": "CPE_RANGE"
}
]
}
}
],
"versions": [
"3.6.14",
"3.6.13",
"gnutls_3_6_12",
"3.6.12",
"gnutls_3_6_11_1",
"gnutls_3_6_11",
"gnutls_3_6_10",
"gnutls_3_6_9",
"gnutls_3_6_7",
"gnutls_3_6_6",
"gnutls_3_6_5",
"gnutls_3_6_4",
"gnutls_3_6_3",
"gnutls_3_6_2",
"gnutls_3_6_1",
"gnutls_3_6_0_1",
"gnutls_3_6_0",
"gnutls_3_5_7",
"gnutls_3_5_5",
"gnutls_3_5_4",
"gnutls_3_5_3",
"gnutls_3_5_2",
"gnutls_3_5_1",
"gnutls_3_5_0",
"gnutls_3_4_3",
"gnutls_3_4_2",
"gnutls_3_4_1",
"gnutls_3_4_0",
"gnutls_3_3_6",
"gnutls_3_3_5",
"gnutls_3_3_4",
"gnutls_3_3_3",
"gnutls_3_3_2",
"gnutls_3_3_1",
"gnutls_3_3_0",
"gnutls_3_2_6",
"gnutls_3_2_5",
"gnutls_3_2_4",
"gnutls_3_2_3",
"gnutls_3_2_3pre0",
"gnutls_3_2_2",
"gnutls_3_2_0",
"gnutls_3_1_9",
"gnutls_3_1_8",
"gnutls_3_1_7",
"gnutls_3_1_6",
"gnutls_3_1_5",
"gnutls_3_1_4",
"gnutls_3_1_3",
"gnutls_3_1_2",
"gnutls_3_1_0",
"gnutls_3_1_0pre0",
"gnutls_3_0_21",
"gnutls_3_0_18",
"gnutls_3_0_17",
"gnutls_3_0_16",
"gnutls_3_0_15",
"gnutls_3_0_14",
"gnutls_3_0_13",
"gnutls-3_0_12",
"gnutls_3_0_11",
"gnutls_3_0_10",
"gnutls_3_0_9",
"gnutls_3_0_8",
"gnutls_3_0_7",
"gnutls_3_0_6",
"gnutls_3_0_5",
"gnutls_3_0_4",
"gnutls_3_0_3",
"gnutls_3_0_2",
"gnutls_3_0_0",
"gnutls_2_99_4",
"gnutls_2_99_3",
"gnutls_2_99_2",
"gnutls_2_99_1",
"gnutls_2_99_0",
"gnutls_2_11_6",
"gnutls_2_11_5",
"gnutls_2_11_4",
"gnutls_2_11_3",
"gnutls_2_9_10",
"gnutls_2_9_9",
"gnutls_2_9_8",
"gnutls_2_9_7",
"gnutls_2_9_6",
"gnutls_2_9_5",
"gnutls_2_9_4",
"gnutls_2_9_3",
"gnutls_2_9_2",
"gnutls_2_7_12",
"gnutls_2_7_11",
"gnutls_2_7_10",
"gnutls_2_7_9",
"gnutls_2_7_8",
"gnutls_2_7_7",
"gnutls_2_7_6",
"gnutls_2_7_5",
"gnutls_2_7_4",
"gnutls_2_7_3",
"gnutls_2_7_1",
"gnutls_2_7_0",
"gnutls_2_5_8",
"gnutls_2_5_7",
"gnutls_2_5_6",
"gnutls_2_5_4",
"gnutls_2_5_3",
"gnutls_2_5_2",
"gnutls_2_5_1",
"gnutls_2_5_0",
"gnutls_2_4_0",
"gnutls_2_3_15",
"gnutls_2_3_14",
"gnutls_2_3_13",
"gnutls_2_3_12",
"gnutls_2_3_11",
"gnutls_2_3_10",
"gnutls_2_3_9",
"gnutls_2_3_8",
"gnutls_2_3_7",
"gnutls_2_3_6",
"gnutls_2_3_5",
"gnutls_2_3_3",
"gnutls_2_3_1",
"gnutls_2_3_0",
"gnutls_2_1_8",
"gnutls_2_1_7",
"gnutls_2_1_6",
"gnutls_2_1_5",
"gnutls_2_1_4",
"gnutls_2_1_3",
"gnutls_2_1_2",
"gnutls_2_0_1",
"gnutls_2_1_1",
"gnutls_2_1_0",
"gnutls_2_0_0",
"gnutls_1_7_19",
"gnutls_1_7_18",
"gnutls_1_7_17",
"gnutls_1_7_16",
"gnutls_1_7_15",
"gnutls_1_7_14",
"gnutls_1_7_13",
"gnutls_1_7_12",
"gnutls_1_7_11",
"gnutls_1_7_10",
"gnutls_1_7_9",
"gnutls_1_7_8",
"gnutls_1_7_7",
"gnutls_1_7_6",
"gnutls_1_7_5",
"gnutls_1_7_4",
"gnutls_1_7_3",
"gnutls_1_7_2",
"gnutls_1_7_1",
"gnutls_1_6_1",
"gnutls_1_7_0",
"gnutls_1_6_0",
"gnutls_1_5_5",
"gnutls_1_5_4",
"gnutls_1_5_3",
"gnutls_1_5_2",
"gnutls_1_5_1",
"gnutls_1_5_0",
"gnutls_1_4_2",
"gnutls_1_4_1",
"gnutls_1_4_0",
"gnutls_1_2_11",
"gnutls_1_3_5",
"gnutls_1_3_4",
"gnutls_1_2_10",
"gnutls_1_3_3",
"gnutls_1_3_2",
"gnutls_1_3_1",
"gnutls_1_3_0",
"gnutls_1_2_9",
"gnutls_1_2_8",
"gnutls_1_2_7",
"gnutls_1_2_6",
"gnutls_1_2_5",
"gnutls_1_2_4",
"gnutls_1_2_3",
"gnutls_1_0_25",
"gnutls_1_2_2",
"gnutls_1_2_1",
"gnutls_1_2_0",
"gnutls_1_0_24",
"gnutls_1_1_23",
"gnutls_1_0_23",
"gnutls_1_1_22",
"gnutls_1_0_22",
"gnutls_1_1_21",
"gnutls_1_1_20",
"gnutls_1_1_19",
"gnutls_1_0_21",
"gnutls_1_1_18",
"gnutls_1_1_17",
"gnutls_1_0_20",
"gnutls_1_1_16",
"gnutls_1_1_15",
"gnutls_1_1_14",
"gnutls_1_1_13",
"gnutls_1_1_12",
"gnutls_1_1_11",
"gnutls_1_1_10",
"gnutls_1_1_9",
"gnutls_1_1_8",
"gnutls_1_1_7",
"gnutls_1_1_7_pre0",
"gnutls_1_1_6",
"gnutls_1_1_5",
"gnutls_1_1_4",
"gnutls_1_1_3",
"gnutls_1_1_2",
"gnutls_1_1_1",
"gnutls_1_1_0",
"gnutls_1_0_0",
"gnutls_0_9_99",
"gnutls_0_9_98",
"gnutls_0_9_97",
"gnutls_0_9_96",
"gnutls_0_9_95",
"gnutls_0_9_94",
"gnutls_0_9_93",
"gnutls_0_9_92",
"gnutls_0_9_91",
"gnutls_0_9_90",
"gnutls_0_9_8",
"gnutls_0_9_7",
"gnutls_0_9_6",
"gnutls_0_9_5",
"gnutls_0_9_4",
"gnutls_0_9_3",
"gnutls_0_9_2",
"gnutls_0_9_1",
"gnutls_0_8_1",
"gnutls_0_8_0",
"gnutls_0_6_0",
"gnutls_0_5_11",
"gnutls_0_5_10",
"gnutls_0_5_x_before_int_fixes",
"gnutls_0_5_9",
"gnutls_0_5_8",
"gnutls_0_5_7",
"gnutls_0_5_6",
"gnutls_0_5_5",
"gnutls_0_5_x_before_types_change",
"gnutls_0_5_4",
"gnutls_0_5_x_with_export_ciphersuites",
"gnutls_0_5_x_before_export_ciphersuites",
"gnutls_0_5_1",
"gnutls_0_5_0",
"gnutls_0_4_with_libtasn1",
"gnutls_0_4_3",
"gnutls_0_4_2",
"gnutls_0_4_1",
"gnutls_0_4_0",
"gnutls_0_3_92",
"gnutls_0_3_91",
"gnutls_0_3_90",
"gnutls_0_3_2",
"gnutls_0_3_1",
"gnutls_0_3_0",
"gnutls_0_2_91",
"gnutls_0_2_90",
"gnutls_0_2_11",
"gnutls_0_2_10",
"gnutls_0_2_9",
"gnutls_0_2_4",
"gnutls_0_2_3",
"gnutls_0_2_2",
"gnutls_0_2_1",
"gnutls_0_2_0",
"gnutls_0_1_9",
"gnutls_0_1_4",
"gnutls-0_1_2",
"gnutls-0-1-0-srp",
"gnutls-0-0-7",
"gnutls0-0-6",
"gnutls0-0-5",
"gnutls0-0-4"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2020-24659.json"
}
}
],
"modified": "2026-10-24T10:50:01.578281272Z",
"provider": "osv",
"references": [
"https://cert-portal.siemens.com/productcert/html/ssa-398330.html",
"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/62BUAI4FQQLG6VTKRT7SUZPGJJ4NASQ3/",
"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/AWN56FDLQQXT2D2YHNI4TYH432TDMQ7N/",
"https://security.gentoo.org/glsa/202009-01",
"https://security.netapp.com/advisory/ntap-20200911-0006/",
"https://usn.ubuntu.com/4491-1/",
"https://www.gnutls.org/security-new.html#GNUTLS-SA-2020-09-04",
"https://gitlab.com/gnutls/gnutls/-/issues/1071"
],
"provider_metadata": {
"unresolved_ranges": [
{
"cpes": [
"cpe:2.3:o:canonical:ubuntu_linux:20.04:*:*:*:lts:*:*:*"
],
"vendor_product": "canonical:ubuntu_linux",
"extracted_events": [
{
"range": [
{
"introduced": "20.04"
},
{
"last_affected": "20.04"
}
],
"source": "CPE_STRING"
}
]
},
{
"cpes": [
"cpe:2.3:o:fedoraproject:fedora:32:*:*:*:*:*:*:*",
"cpe:2.3:o:fedoraproject:fedora:33:*:*:*:*:*:*:*"
],
"vendor_product": "fedoraproject:fedora",
"extracted_events": [
{
"range": [
{
"introduced": "32"
},
{
"last_affected": "32"
},
{
"introduced": "33"
},
{
"last_affected": "33"
}
],
"source": "CPE_STRING"
}
]
},
{
"cpes": [
"cpe:2.3:o:opensuse:leap:15.1:*:*:*:*:*:*:*",
"cpe:2.3:o:opensuse:leap:15.2:*:*:*:*:*:*:*"
],
"vendor_product": "opensuse:leap",
"extracted_events": [
{
"range": [
{
"introduced": "15.1"
},
{
"last_affected": "15.1"
},
{
"introduced": "15.2"
},
{
"last_affected": "15.2"
}
],
"source": "CPE_STRING"
}
]
}
]
}
},
"related_cves": [
{
"value": "CVE-2020-24659",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 441902,
"published_at": "2020-09-04T15:15:10.803+00:00"
}