CVE-2018-16840
A heap use-after-free flaw was found in curl versions from 7.59.0 through 7.61.1 in the code...
A heap use-after-free flaw was found in curl versions from 7.59.0 through 7.61.1 in the code related to closing an easy handle. When closing and cleaning up an 'easy' handle in the Curl_close() function, the library code first frees a struct (without nulling the pointer) and might then subsequently erroneously write to a struct field within that already freed struct.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- Required
What an attacker can affect
- Confidentiality
- None
- Integrity
- Low
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
4.3
A heap use-after-free flaw was found in curl versions from 7.59.0 through 7.61.1 in the code related to closing an easy handle. When closing and cleaning up an 'easy' handle in the Curl_close() function, the library code first frees a struct (without nulling the pointer) and might then subsequently erroneously write to a struct field within that already freed struct.
- Record
CVE-2018-16840- CVSS 3.0
- 4.3 Medium
CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N - Weakness
- CWE-416
- Updated
- 2026-11-02
EUVDEUVD-2018-8636
4.3
A heap use-after-free flaw was found in curl versions from 7.59.0 through 7.61.1 in the code related to closing an easy handle. When closing and cleaning up an 'easy' handle in the Curl_close() function, the library code first frees a struct (without nulling the pointer) and might then subsequently erroneously write to a struct field within that already freed struct.
- Record
EUVD-2018-8636- CVSS 3.0
- 4.3 Medium
CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-6vwf-m72q-cw8h
9.8
A heap use-after-free flaw was found in curl versions from 7.59.0 through 7.61.1 in the code...
A heap use-after-free flaw was found in curl versions from 7.59.0 through 7.61.1 in the code related to closing an easy handle. When closing and cleaning up an 'easy' handle in the Curl_close() function, the library code first frees a struct (without nulling the pointer) and might then subsequently erroneously write to a struct field within that already freed struct.
- Record
GHSA-6vwf-m72q-cw8h- 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-416
- Updated
- 2026-11-02
NVD
9.8
A heap use-after-free flaw was found in curl versions from 7.59.0 through 7.61.1 in the code related to closing an easy handle. When closing and cleaning up an 'easy' handle in the Curl_close() function, the library code first frees a struct (without nulling the pointer) and might then subsequently erroneously write to a struct field within that already freed struct.
- Record
CVE-2018-16840- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - CVSS 3.0
- 4.3 Medium
CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N - CVSS 2.0
- 7.5 High
AV:N/AC:L/Au:N/C:P/I:P/A:P - Weakness
- CWE-416
- Updated
- 2026-11-02
OSVALPINE-CVE-2018-16840
9.8
A heap use-after-free flaw was found in curl versions from 7.59.0 through 7.61.1 in the code related to closing an easy handle. When closing and cleaning up an 'easy' handle in the Curl_close() function, the library code first frees a struct (without nulling the pointer) and might then subsequently erroneously write to a struct field within that already freed struct.
- Record
ALPINE-CVE-2018-16840- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVBELL-CVE-2018-16840
9.8
CVE-2018-16840 does not affect BellSoft software
- Record
BELL-CVE-2018-16840- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
Show 10 moreShow less
OSV
9.8
A heap use-after-free flaw was found in curl versions from 7.59.0 through 7.61.1 in the code related to closing an easy handle. When closing and cleaning up an 'easy' handle in the Curl_close() function, the library code first frees a struct (without nulling the pointer) and might then subsequently erroneously write to a struct field within that already freed struct.
- Record
CVE-2018-16840- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVDEBIAN-CVE-2018-16840
9.8
A heap use-after-free flaw was found in curl versions from 7.59.0 through 7.61.1 in the code related to closing an easy handle. When closing and cleaning up an 'easy' handle in the Curl_close() function, the library code first frees a struct (without nulling the pointer) and might then subsequently erroneously write to a struct field within that already freed struct.
- Record
DEBIAN-CVE-2018-16840- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVUBUNTU-CVE-2018-16840
9.8
A heap use-after-free flaw was found in curl versions from 7.59.0 through 7.61.1 in the code related to closing an easy handle. When closing and cleaning up an 'easy' handle in the Curl_close() function, the library code first frees a struct (without nulling the pointer) and might then subsequently erroneously write to a struct field within that already freed struct.
- Record
UBUNTU-CVE-2018-16840- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - CVSS 3.0
- 4.3 Medium
CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N - 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
OSVCURL-CVE-2018-16840 No score
use after free in handle close
libcurl contains a heap use after free flaw in code related to closing an easy handle.
When closing and cleaning up an "easy" handle in the Curl_close() function,
the library code first frees a struct (without clearing the pointer) and might
then subsequently erroneously write to a struct field within that already
freed struct.
- Record
CURL-CVE-2018-16840- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:10582-1 No score
curl-7.79.1-1.1 on GA media
These are all security issues fixed in the curl-7.79.1-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:10582-1- Updated
- 2026-11-02
OSVSUSE-SU-2018:3608-1 No score
Security update for curl
This update for curl fixes the following issues:
- CVE-2018-16840: A use after free in closing SASL handles was fixed (bsc#1112758)
- CVE-2018-16842: A Out-of-bounds Read in tool_msgs.c was fixed which could lead to crashes (bsc#1113660)
- Record
SUSE-SU-2018:3608-1- Updated
- 2026-11-02
OSVSUSE-SU-2018:3624-1 No score
Security update for curl
This update for curl fixes the following issues:
- CVE-2018-16839: A SASL password overflow via integer overflow was fixed which could lead to crashes (bsc#1112758)
- CVE-2018-16840: A use-after-free in SASL handle close was fixed which could lead to crashes (bsc#1112758)
- CVE-2018-16842: A Out-of-bounds Read in tool_msgs.c was fixed which could lead to crashes (bsc#1113660)
- Record
SUSE-SU-2018:3624-1- Updated
- 2026-11-02
OSVSUSE-SU-2018:3681-1 No score
Security update for curl
This update for curl fixes the following issues:
- CVE-2018-16840: A use-after-free in SASL handle close was fixed (bsc#1112758)
- CVE-2018-16842: A Out-of-bounds Read in tool_msgs.c was fixed which could lead to crashes (bsc#1113660)
- Record
SUSE-SU-2018:3681-1- Updated
- 2026-11-02
OSVSUSE-SU-2019:0339-1 No score
Security update for curl
This update for curl fixes the following issues:
Security issues fixed:
- CVE-2019-3822: Fixed a NTLMv2 type-3 header stack buffer overflow (bsc#1123377).
- CVE-2019-3823: Fixed an out-of-bounds read in the SMTP end-of-response (bsc#1123378).
- CVE-2018-16890: Fixed an out-of-bounds buffer read in NTLM type2 (bsc#1123371).
- CVE-2018-16842: Fixed an out-of-bounds read in tool_msgs.c (bsc#1113660).
- CVE-2018-16840: Fixed a use-after-free in handle close (bsc#1113029).
- CVE-2018-16839: Fixed an SASL password overflow caused by an integer overflow (bsc#1112758).
- Record
SUSE-SU-2019:0339-1- Updated
- 2026-11-02
OSVUSN-3805-1 No score
curl vulnerabilities
Harry Sintonen discovered that curl incorrectly handled SASL authentication. A remote attacker could use this issue to cause curl to crash, resulting in a denial of service, or possibly execute arbitrary code. (CVE-2018-16839)
Brian Carpenter discovered that curl incorrectly handled memory when closing certain handles. A remote attacker could use this issue to cause curl to crash, resulting in a denial of service, or possibly execute arbitrary code. (CVE-2018-16840)
Brian Carpenter discovered that the curl command-line tool incorrectly handled error messages. A remote attacker could possibly use this issue to obtain sensitive information. (CVE-2018-16842)
- Record
USN-3805-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
curlAlpine:v3.10 |
7.59.0 up to 7.62.0-r0 | 7.62.0-r0 |
curlAlpine:v3.11 |
7.59.0 up to 7.62.0-r0 | 7.62.0-r0 |
curlAlpine:v3.12 |
7.59.0 up to 7.62.0-r0 | 7.62.0-r0 |
curlAlpine:v3.13 |
7.59.0 up to 7.62.0-r0 | 7.62.0-r0 |
curlAlpine:v3.14 |
7.59.0 up to 7.62.0-r0 | 7.62.0-r0 |
curlAlpine:v3.15 |
7.59.0 up to 7.62.0-r0 | 7.62.0-r0 |
curlAlpine:v3.16 |
7.59.0 up to 7.62.0-r0 | 7.62.0-r0 |
curlAlpine:v3.17 |
7.59.0 up to 7.62.0-r0 | 7.62.0-r0 |
curlAlpine:v3.18 |
7.59.0 up to 7.62.0-r0 | 7.62.0-r0 |
curlAlpine:v3.19 |
7.59.0 up to 7.62.0-r0 | 7.62.0-r0 |
Show 30 moreShow less
| Package | Affected | Fixed |
|---|---|---|
curlAlpine:v3.20 |
7.59.0 up to 7.62.0-r0 | 7.62.0-r0 |
curlAlpine:v3.21 |
7.59.0 up to 7.62.0-r0 | 7.62.0-r0 |
curlAlpine:v3.22 |
7.59.0 up to 7.62.0-r0 | 7.62.0-r0 |
curlAlpine:v3.23 |
7.59.0 up to 7.62.0-r0 | 7.62.0-r0 |
curlAlpine:v3.24 |
7.59.0 up to 7.62.0-r0 | 7.62.0-r0 |
curlAlpine:v3.5 |
7.59.0 up to 7.61.1-r1 | 7.61.1-r1 |
curlAlpine:v3.6 |
7.59.0 up to 7.61.1-r1 | 7.61.1-r1 |
curlAlpine:v3.7 |
7.59.0 up to 7.61.1-r1 | 7.61.1-r1 |
curlAlpine:v3.8 |
7.59.0 up to 7.61.1-r1 | 7.61.1-r1 |
curlAlpine:v3.9 |
7.59.0 up to 7.62.0-r0 | 7.62.0-r0 |
curlDebian:12 |
before 7.62.0-1 | 7.62.0-1 |
curlDebian:13 |
before 7.62.0-1 | 7.62.0-1 |
curlDebian:14 |
before 7.62.0-1 | 7.62.0-1 |
curlSUSE:Linux Enterprise Desktop 12 SP3 From an advisory covering 2 CVEs |
before 7.37.0-37.31.1 | 7.37.0-37.31.1 |
curlSUSE:Linux Enterprise Software Development Kit 12 SP3 From an advisory covering 2 CVEs |
before 7.37.0-37.31.1 | 7.37.0-37.31.1 |
curlSUSE:Linux Enterprise Server 12 SP3 From an advisory covering 2 CVEs |
before 7.37.0-37.31.1 | 7.37.0-37.31.1 |
curlSUSE:Linux Enterprise Server for SAP Applications 12 SP3 From an advisory covering 2 CVEs |
before 7.37.0-37.31.1 | 7.37.0-37.31.1 |
curlSUSE:Linux Enterprise Module for Basesystem 15 From an advisory covering 3 CVEs |
before 7.60.0-3.14.3 | 7.60.0-3.14.3 |
curlSUSE:Linux Enterprise Software Development Kit 11 SP4 From an advisory covering 2 CVEs |
before 7.37.0-70.38.1 | 7.37.0-70.38.1 |
curl-openssl1SUSE:Linux Enterprise Server 11-SECURITY From an advisory covering 2 CVEs |
before 7.37.0-70.38.1 | 7.37.0-70.38.1 |
curlSUSE:Linux Enterprise Server 11 SP4 From an advisory covering 2 CVEs |
before 7.37.0-70.38.1 | 7.37.0-70.38.1 |
curlSUSE:Linux Enterprise Server for SAP Applications 11 SP4 From an advisory covering 2 CVEs |
before 7.37.0-70.38.1 | 7.37.0-70.38.1 |
curlSUSE:Linux Enterprise Desktop 12 SP4 From an advisory covering 6 CVEs |
before 7.60.0-4.3.1 | 7.60.0-4.3.1 |
curlSUSE:Linux Enterprise Software Development Kit 12 SP4 From an advisory covering 6 CVEs |
before 7.60.0-4.3.1 | 7.60.0-4.3.1 |
curlSUSE:Linux Enterprise Server 12 SP4 From an advisory covering 6 CVEs |
before 7.60.0-4.3.1 | 7.60.0-4.3.1 |
curlSUSE:Linux Enterprise Server for SAP Applications 12 SP4 From an advisory covering 6 CVEs |
before 7.60.0-4.3.1 | 7.60.0-4.3.1 |
curlUbuntu:14.04:LTS From an advisory covering 3 CVEs |
before 7.35.0-1ubuntu2.19, plus listed versions 7.32.0-1ubuntu17.33.0-1ubuntu17.34.0-1ubuntu17.35.0-1ubuntu17.35.0-1ubuntu2 Show 16 moreShow less7.35.0-1ubuntu2.17.35.0-1ubuntu2.27.35.0-1ubuntu2.37.35.0-1ubuntu2.57.35.0-1ubuntu2.67.35.0-1ubuntu2.77.35.0-1ubuntu2.87.35.0-1ubuntu2.97.35.0-1ubuntu2.107.35.0-1ubuntu2.117.35.0-1ubuntu2.127.35.0-1ubuntu2.137.35.0-1ubuntu2.147.35.0-1ubuntu2.157.35.0-1ubuntu2.167.35.0-1ubuntu2.17 |
7.35.0-1ubuntu2.19 |
curlUbuntu:16.04:LTS From an advisory covering 3 CVEs |
before 7.47.0-1ubuntu2.11, plus listed versions 7.43.0-1ubuntu27.45.0-1ubuntu17.46.0-1ubuntu17.47.0-1ubuntu17.47.0-1ubuntu2 Show 9 moreShow less7.47.0-1ubuntu2.17.47.0-1ubuntu2.27.47.0-1ubuntu2.37.47.0-1ubuntu2.47.47.0-1ubuntu2.57.47.0-1ubuntu2.67.47.0-1ubuntu2.77.47.0-1ubuntu2.87.47.0-1ubuntu2.9 |
7.47.0-1ubuntu2.11 |
curlUbuntu:18.04:LTS From an advisory covering 3 CVEs |
before 7.58.0-2ubuntu3.5, plus listed versions 7.55.1-1ubuntu27.55.1-1ubuntu2.17.57.0-1ubuntu17.58.0-2ubuntu17.58.0-2ubuntu2 Show 4 moreShow less7.58.0-2ubuntu37.58.0-2ubuntu3.17.58.0-2ubuntu3.27.58.0-2ubuntu3.3 |
7.58.0-2ubuntu3.5 |
curlopenSUSE:Tumbleweed From an advisory covering 48 CVEs |
before 7.79.1-1.1 | 7.79.1-1.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| affected | ||
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2018-16840 is a medium vulnerability (CVSS 4.3) in Curl, published October 31, 2018. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 3.40%, the 88th percentile. Fixed in curl 7.62.0-r0.
References
security.gentoo.org/glsa/201903-03
bugzilla.redhat.com/show_bug.cgi?id=CVE-2018-16840
github.com/curl/curl/commit/81d135d67155c5295b1033679c606165d4e28f3f
securitytracker.com/id/1042013
curl.haxx.se/docs/CVE-2018-16840.html
usn.ubuntu.com/3805-1
Show 68 moreShow less
nvd.nist.gov/vuln/detail/CVE-2018-16840
github.com/advisories/GHSA-6vwf-m72q-cw8h
security.alpinelinux.org/vuln/CVE-2018-16840
docs.bell-sw.com/security/cves/CVE-2018-16840
security-tracker.debian.org/tracker/CVE-2018-16840
suse.com/support/update/announcement/2018/suse-su-20183608-1
bugzilla.suse.com/1112758
bugzilla.suse.com/1113660
suse.com/security/cve/CVE-2018-16840
suse.com/security/cve/CVE-2018-16842
suse.com/support/update/announcement/2018/suse-su-20183624-1
suse.com/security/cve/CVE-2018-16839
suse.com/support/update/announcement/2018/suse-su-20183681-1
suse.com/support/update/announcement/2019/suse-su-20190339-1
bugzilla.suse.com/1113029
bugzilla.suse.com/1123371
bugzilla.suse.com/1123377
bugzilla.suse.com/1123378
suse.com/security/cve/CVE-2018-16890
suse.com/security/cve/CVE-2019-3822
suse.com/security/cve/CVE-2019-3823
ubuntu.com/security/CVE-2018-16840
ubuntu.com/security/notices/USN-3805-1
cve.org/CVERecord?id=CVE-2018-16840
ubuntu.com/security/CVE-2018-16839
ubuntu.com/security/CVE-2018-16842
suse.com/security/cve/CVE-2006-1061
suse.com/security/cve/CVE-2016-9586
suse.com/security/cve/CVE-2016-9594
suse.com/security/cve/CVE-2017-1000099
suse.com/security/cve/CVE-2017-1000100
suse.com/security/cve/CVE-2017-1000101
suse.com/security/cve/CVE-2017-1000254
suse.com/security/cve/CVE-2017-1000257
suse.com/security/cve/CVE-2017-2629
suse.com/security/cve/CVE-2017-7468
suse.com/security/cve/CVE-2017-8816
suse.com/security/cve/CVE-2017-8817
suse.com/security/cve/CVE-2017-8818
suse.com/security/cve/CVE-2017-9502
suse.com/security/cve/CVE-2018-0500
suse.com/security/cve/CVE-2018-1000005
suse.com/security/cve/CVE-2018-1000120
suse.com/security/cve/CVE-2018-1000122
suse.com/security/cve/CVE-2018-1000300
suse.com/security/cve/CVE-2018-1000301
suse.com/security/cve/CVE-2018-14618
suse.com/security/cve/CVE-2019-15601
suse.com/security/cve/CVE-2019-5435
suse.com/security/cve/CVE-2019-5436
suse.com/security/cve/CVE-2019-5481
suse.com/security/cve/CVE-2019-5482
suse.com/security/cve/CVE-2020-8169
suse.com/security/cve/CVE-2020-8231
suse.com/security/cve/CVE-2020-8284
suse.com/security/cve/CVE-2020-8285
suse.com/security/cve/CVE-2020-8286
suse.com/security/cve/CVE-2021-22297
suse.com/security/cve/CVE-2021-22298
suse.com/security/cve/CVE-2021-22876
suse.com/security/cve/CVE-2021-22890
suse.com/security/cve/CVE-2021-22898
suse.com/security/cve/CVE-2021-22901
suse.com/security/cve/CVE-2021-22922
suse.com/security/cve/CVE-2021-22924
suse.com/security/cve/CVE-2021-22945
suse.com/security/cve/CVE-2021-22946
suse.com/security/cve/CVE-2021-22947