Every CVE Search/ Get API key

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...

4.3 MediumFix available

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

3.40%Up 1.9 points since Apr 14, 2021
90%50%10%1%

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 MediumCVSS: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 MediumCVSS: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 CriticalCVSS: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 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS 3.0
4.3 MediumCVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N
CVSS 2.0
7.5 HighAV: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 CriticalCVSS: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 CriticalCVSS: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 CriticalCVSS: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 CriticalCVSS: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 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS 3.0
4.3 MediumCVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N
CVSS 3.0
9.8 CriticalCVSS: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

Affected packages
PackageAffectedFixed
curl
Alpine:v3.10
7.59.0 up to 7.62.0-r0
7.62.0-r0
curl
Alpine:v3.11
7.59.0 up to 7.62.0-r0
7.62.0-r0
curl
Alpine:v3.12
7.59.0 up to 7.62.0-r0
7.62.0-r0
curl
Alpine:v3.13
7.59.0 up to 7.62.0-r0
7.62.0-r0
curl
Alpine:v3.14
7.59.0 up to 7.62.0-r0
7.62.0-r0
curl
Alpine:v3.15
7.59.0 up to 7.62.0-r0
7.62.0-r0
curl
Alpine:v3.16
7.59.0 up to 7.62.0-r0
7.62.0-r0
curl
Alpine:v3.17
7.59.0 up to 7.62.0-r0
7.62.0-r0
curl
Alpine:v3.18
7.59.0 up to 7.62.0-r0
7.62.0-r0
curl
Alpine:v3.19
7.59.0 up to 7.62.0-r0
7.62.0-r0
Show 30 moreShow less
Affected packages
PackageAffectedFixed
curl
Alpine:v3.20
7.59.0 up to 7.62.0-r0
7.62.0-r0
curl
Alpine:v3.21
7.59.0 up to 7.62.0-r0
7.62.0-r0
curl
Alpine:v3.22
7.59.0 up to 7.62.0-r0
7.62.0-r0
curl
Alpine:v3.23
7.59.0 up to 7.62.0-r0
7.62.0-r0
curl
Alpine:v3.24
7.59.0 up to 7.62.0-r0
7.62.0-r0
curl
Alpine:v3.5
7.59.0 up to 7.61.1-r1
7.61.1-r1
curl
Alpine:v3.6
7.59.0 up to 7.61.1-r1
7.61.1-r1
curl
Alpine:v3.7
7.59.0 up to 7.61.1-r1
7.61.1-r1
curl
Alpine:v3.8
7.59.0 up to 7.61.1-r1
7.61.1-r1
curl
Alpine:v3.9
7.59.0 up to 7.62.0-r0
7.62.0-r0
curl
Debian:12
before 7.62.0-1
7.62.0-1
curl
Debian:13
before 7.62.0-1
7.62.0-1
curl
Debian:14
before 7.62.0-1
7.62.0-1
curl
SUSE:Linux Enterprise Desktop 12 SP3
From an advisory covering 2 CVEs
before 7.37.0-37.31.1
7.37.0-37.31.1
curl
SUSE: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
curl
SUSE:Linux Enterprise Server 12 SP3
From an advisory covering 2 CVEs
before 7.37.0-37.31.1
7.37.0-37.31.1
curl
SUSE: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
curl
SUSE: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
curl
SUSE: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-openssl1
SUSE:Linux Enterprise Server 11-SECURITY
From an advisory covering 2 CVEs
before 7.37.0-70.38.1
7.37.0-70.38.1
curl
SUSE:Linux Enterprise Server 11 SP4
From an advisory covering 2 CVEs
before 7.37.0-70.38.1
7.37.0-70.38.1
curl
SUSE: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
curl
SUSE:Linux Enterprise Desktop 12 SP4
From an advisory covering 6 CVEs
before 7.60.0-4.3.1
7.60.0-4.3.1
curl
SUSE: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
curl
SUSE:Linux Enterprise Server 12 SP4
From an advisory covering 6 CVEs
before 7.60.0-4.3.1
7.60.0-4.3.1
curl
SUSE: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
curl
Ubuntu: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 less
7.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
curl
Ubuntu: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 less
7.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
curl
Ubuntu: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 less
7.58.0-2ubuntu37.58.0-2ubuntu3.17.58.0-2ubuntu3.27.58.0-2ubuntu3.3
7.58.0-2ubuntu3.5
curl
openSUSE:Tumbleweed
From an advisory covering 48 CVEs
before 7.79.1-1.1
7.79.1-1.1

History

History
RecordedChangedSources
affected, facts
affected
first indexedCVE 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

Show 68 moreShow less
MoveEnter Open