libcURL up to 7.63.x lib/vauth/ntlm.c Curl_auth_create_ntlm_type3_message HTTP Header memory corruption
| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 8.0 | $0-$5k | 0.00 |
Summary
A vulnerability described as critical has been identified in libcURL up to 7.63.x. This issue affects the function Curl_auth_create_ntlm_type3_message in the library lib/vauth/ntlm.c. Executing a manipulation as part of HTTP Header can lead to memory corruption.
This vulnerability appears as CVE-2019-3822. The attack may be performed from remote. There is no available exploit.
Upgrading the affected component is recommended.
Details
A vulnerability classified as critical was found in libcURL up to 7.63.x (Network Utility Software). This vulnerability affects the function Curl_auth_create_ntlm_type3_message in the library lib/vauth/ntlm.c. The manipulation as part of a HTTP Header leads to a memory corruption vulnerability. The CWE definition for the vulnerability is CWE-119. The product performs operations on a memory buffer, but it can read from or write to a memory location that is outside of the intended boundary of the buffer. As an impact it is known to affect confidentiality, integrity, and availability. CVE summarizes:
libcurl versions from 7.36.0 to before 7.64.0 are vulnerable to a stack-based buffer overflow. The function creating an outgoing NTLM type-3 header (`lib/vauth/ntlm.c:Curl_auth_create_ntlm_type3_message()`), generates the request HTTP header contents based on previously received data. The check that exists to prevent the local buffer from getting overflowed is implemented wrongly (using unsigned math) and as such it does not prevent the overflow from happening. This output data can grow larger than the local buffer if very large 'nt response' data is extracted from a previous NTLMv2 header provided by the malicious or broken HTTP server. Such a 'large value' needs to be around 1000 bytes or more. The actual payload data copied to the target buffer comes from the NTLMv2 type-2 response header.
The bug was discovered 02/06/2019. The weakness was presented 02/06/2019 with Tencent as confirmed bug report (Bugzilla). The advisory is available at bugzilla.redhat.com. This vulnerability was named CVE-2019-3822 since 01/03/2019. The exploitation appears to be easy. The attack can be initiated remotely. No form of authentication is required for a successful exploitation. Technical details are known, but there is no available exploit.
The vulnerability scanner Nessus provides a plugin with the ID 236591 (Alibaba Cloud Linux 3 : 0078: curl (ALINUX3-SA-2021:0078)), which helps to determine the existence of the flaw in a target environment. The commercial vulnerability scanner Qualys is able to test this issue with plugin 197366 (Ubuntu Security Notification for Curl Vulnerabilities (USN-3882-1)).
Upgrading to version 7.36.0 eliminates this vulnerability.
The vulnerability is also documented in the databases at Tenable (236591) and SecurityFocus (BID 106947†). See VDB-130579, VDB-130619, VDB-133589 and VDB-133491 for similar entries. If you want to get best quality of vulnerability data, you may have to visit VulDB.
Product
Type
Name
Version
- 7.0
- 7.1
- 7.2
- 7.3
- 7.4
- 7.5
- 7.6
- 7.7
- 7.8
- 7.9
- 7.10
- 7.11
- 7.12
- 7.13
- 7.14
- 7.15
- 7.16
- 7.17
- 7.18
- 7.19
- 7.20
- 7.21
- 7.22
- 7.23
- 7.24
- 7.25
- 7.26
- 7.27
- 7.28
- 7.29
- 7.30
- 7.31
- 7.32
- 7.33
- 7.34
- 7.35
- 7.36
- 7.37
- 7.38
- 7.39
- 7.40
- 7.41
- 7.42
- 7.43
- 7.44
- 7.45
- 7.46
- 7.47
- 7.48
- 7.49
- 7.50
- 7.51
- 7.52
- 7.53
- 7.54
- 7.55
- 7.56
- 7.57
- 7.58
- 7.59
- 7.60
- 7.61
- 7.62
- 7.63
License
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔍VulDB Reliability: 🔍
CVSSv3
VulDB Meta Base Score: 8.1VulDB Meta Temp Score: 8.0
VulDB Base Score: 7.3
VulDB Temp Score: 7.0
VulDB Vector: 🔍
VulDB Reliability: 🔍
NVD Base Score: 9.8
NVD Vector: 🔍
CNA Base Score: 7.1
CNA Vector (Red Hat, Inc.): 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vector | Complexity | Authentication | Confidentiality | Integrity | Availability |
|---|---|---|---|---|---|
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
VulDB Base Score: 🔍
VulDB Temp Score: 🔍
VulDB Reliability: 🔍
NVD Base Score: 🔍
Exploiting
Class: Memory corruptionCWE: CWE-119
CAPEC: 🔍
ATT&CK: 🔍
Physical: No
Local: No
Remote: Yes
Availability: 🔍
Status: Not defined
EPSS Score: 🔍
EPSS Percentile: 🔍
Price Prediction: 🔍
Current Price Estimation: 🔍
| 0-Day | Unlock | Unlock | Unlock | Unlock |
|---|---|---|---|---|
| Today | Unlock | Unlock | Unlock | Unlock |
Nessus ID: 236591
Nessus Name: Alibaba Cloud Linux 3 : 0078: curl (ALINUX3-SA-2021:0078)
Qualys ID: 🔍
Qualys Name: 🔍
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: UpgradeStatus: 🔍
0-Day Time: 🔍
Upgrade: libcURL 7.36.0
Timeline
01/03/2019 🔍02/06/2019 🔍
02/06/2019 🔍
02/06/2019 🔍
02/07/2019 🔍
05/20/2025 🔍
Sources
Advisory: RHSA-2019:3701Organization: Tencent
Status: Confirmed
Confirmation: 🔍
CVE: CVE-2019-3822 (🔍)
GCVE (CVE): GCVE-0-2019-3822
GCVE (VulDB): GCVE-100-130618
SecurityFocus: 106947 - cURL/libcURL CVE-2018-16890 Heap Buffer Overflow Vulnerability
See also: 🔍
Entry
Created: 02/07/2019 09:30Updated: 05/20/2025 18:58
Changes: 02/07/2019 09:30 (64), 05/08/2020 21:14 (5), 07/06/2023 15:29 (4), 07/06/2023 15:34 (12), 05/20/2025 18:58 (16)
Complete: 🔍
Cache ID: 216:345:103
If you want to get best quality of vulnerability data, you may have to visit VulDB.
No comments yet. Languages: en.
Please log in to comment.