cbcvebase.
CVE-2019-3822
published 2019-02-06

CVE-2019-3822: 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…

PriorityP261critical9.8CVSS 3.1
AVNACLPRNUINSUCHIHAH
EPSS
12.77%
95.8th percentile
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.

Affected

28 ranges· showing 25
VendorProductVersion rangeFixed in
canonicalubuntu_linux
canonicalubuntu_linux
canonicalubuntu_linux
canonicalubuntu_linux
debiancurl< curl 7.64.0-1 (bookworm)curl 7.64.0-1 (bookworm)
debiandebian_linux
haxxcurl>= 0 < 7.64.0-17.64.0-1
haxxcurl>= 0 < 7.64.0-17.64.0-1
haxxcurl>= 0 < 7.64.0-17.64.0-1
haxxcurl>= 0 < 7.64.0-17.64.0-1
haxxcurl>= 0 < 7.35.0-1ubuntu2.207.35.0-1ubuntu2.20
haxxcurl>= 0 < 7.47.0-1ubuntu2.127.47.0-1ubuntu2.12
haxxcurl>= 0 < 7.58.0-2ubuntu3.67.58.0-2ubuntu3.6
haxxlibcurl>= 7.36.0 < 7.64.07.64.0
netappactive_iq_unified_manager>= 7.3
netappactive_iq_unified_manager>= 9.5
oraclecommunications_operations_monitor
oraclecommunications_operations_monitor
oracleenterprise_manager_ops_center
oracleenterprise_manager_ops_center
oraclehttp_server
oraclemysql_server<= 5.7.26
oraclemysql_server5.7.27 – 8.0.15
oraclesecure_global_desktop
oracleservices_tools_bundle

Detection & IOCsextracted from sources · hover to see the quote

pathlib/vauth/ntlm.c
  • Monitor for stack-based buffer overflow triggered in Curl_auth_create_ntlm_type3_message() when processing NTLMv2 type-2 response headers containing 'nt response' data of approximately 1000 bytes or more from a server.
  • The actual overflow payload originates from the NTLMv2 type-2 response header sent by the server; inspect HTTP responses containing oversized NTLMv2 type-2 headers in NTLM authentication exchanges.
  • On Linux systems with StackGuard/stack canary enabled, exploitation will likely manifest as a crash (__stack_chk_fail) rather than code execution; monitor for abnormal curl process terminations during NTLM authentication.
  • Affected libcurl versions are 7.36.0 through 7.63.x; flag any curl/libcurl instances in this version range that are performing NTLM authentication against external servers.
  • ·Red Hat Enterprise Linux 5, 6, and 7 ship curl versions that do not support NTLMv2 type-3 headers and are therefore not affected; do not apply NTLM-specific detections to these platforms.
  • ·The vulnerability requires the client to connect to a malicious or attacker-controlled HTTP server that responds with a crafted NTLMv2 type-2 header; it is not exploitable server-side or without NTLM authentication being in use.
  • ·No known public exploits specifically target this vulnerability as of the advisory date.

CVSS provenance

nvdv3.19.8CRITICALCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
nvdv3.07.1HIGHCVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:H
nvdv2.07.5HIGHAV:N/AC:L/Au:N/C:P/I:P/A:P
osv9.8CRITICAL
vendor_debian9.8CRITICAL
vendor_redhat9.8CRITICAL
vendor_ubuntu7.5HIGH
Stop checking back — get the weekly exploitation signal.

Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.