CVE-2025-14017
cURL vulnerability analysis and mitigation

Overview

CVE-2025-14017 is a thread-safety vulnerability in libcurl titled "broken TLS options for threaded LDAPS," in which modifying TLS options in one thread during multi-threaded LDAPS (LDAP over TLS) transfers inadvertently changes those options globally, potentially affecting all concurrent transfers. Specifically, disabling certificate verification for one transfer can unintentionally disable it for other threads as well. The flaw affects curl versions 7.17.0 through 8.17.0 (inclusive) and was fixed in curl 8.18.0, released January 7, 2026. It carries a CVSS v3.1 base score of 6.3 (Medium), as assessed by CISA-ADP (curl Advisory, Openwall).

Technical details

The root cause is CWE-567 (Unsynchronized Access to Shared Data in a Multi-threaded Context): libcurl's legacy non-Windows LDAP backend (lib/ldap.c) uses global state to store TLS options during connection setup, rather than per-connection or per-thread state. When one thread modifies TLS settings — such as disabling certificate verification — those changes propagate globally and affect all concurrently executing LDAP transfers. The flaw is highly timing-sensitive, as the global state is only used during connection setup. Critically, this vulnerability only affects builds using the legacy non-Windows LDAP backend; builds using OpenLDAP or WinLDAP are not affected, and the curl command-line tool itself is not impacted. The vulnerability was introduced in commit ccba0d10b6baf5c73ca and fixed in commit 39d1976b7f709a516e324333 (curl Advisory, Openwall).

Impact

The primary impact is an authentication bypass enabling man-in-the-middle (MitM) attacks against LDAPS traffic. If an attacker can influence one thread to disable TLS certificate verification, other concurrent LDAPS connections in the same process lose certificate validation, allowing the attacker to intercept and read encrypted LDAP traffic or forge LDAP authentication tokens without detection. This exposes confidentiality (interception of credentials and directory data) and integrity (forged authentication responses) of LDAPS communications, though availability is not directly impacted (curl Advisory, Feedly).

Exploitation steps

  1. Identify a vulnerable target: Locate an application using libcurl built with the legacy non-Windows LDAP backend (lib/ldap.c) that performs concurrent multi-threaded LDAPS transfers, running curl versions 7.17.0–8.17.0.
  2. Gain local access: Obtain local access to the system running the vulnerable application, as the attack vector is local (AV:L).
  3. Trigger user interaction: Cause the target application or user to initiate concurrent LDAPS connections in multiple threads (e.g., by submitting requests that trigger parallel LDAP directory lookups).
  4. Race condition exploitation: Time a thread to set a TLS option (such as disabling certificate verification via CURLOPT_SSL_VERIFYPEER=0) for one LDAPS transfer while other threads are simultaneously setting up their LDAPS connections, exploiting the global state write.
  5. Conduct MitM attack: With certificate verification disabled globally across threads, position a rogue LDAP server or intercept traffic using a tool such as mitmproxy or a custom TLS proxy to intercept LDAPS communications, capture credentials, or forge LDAP authentication responses (curl Advisory, Openwall).

Indicators of compromise

  • Network: Unexpected or self-signed TLS certificates presented during LDAPS (port 636) connections that are accepted without error; LDAPS traffic redirected to an unexpected IP address or hostname.
  • Logs: Application logs showing LDAP/LDAPS connections succeeding despite certificate validation errors or mismatches; TLS handshake logs indicating certificate verification was skipped for connections that should enforce it.
  • Process: Multi-threaded application processes making concurrent LDAPS connections with inconsistent TLS verification behavior; unexpected LDAP authentication successes from unusual source addresses.

Mitigation and workarounds

The primary remediation is to upgrade libcurl to version 8.18.0 or later, which fixes the global state issue (curl Advisory). If upgrading immediately is not possible, two alternative mitigations exist: (B) rebuild libcurl with OpenLDAP support instead of the legacy backend, as OpenLDAP-based builds are not affected; or (C) avoid using LDAP/LDAPS functionality entirely in the affected application. Microsoft and Oracle have also released patches for their affected products incorporating the fix (Microsoft MSRC, Oracle). Linux distributions including Ubuntu, SUSE, Fedora, and Amazon Linux 2 have issued updated packages.

Community reactions

The vulnerability was reported to the curl project on December 1, 2025, by Stanislav Fort of Aisle Research, and a bug bounty award of 2,540 USD was granted. Daniel Stenberg (curl's lead developer) patched and disclosed the issue coordinated with the curl 8.18.0 release on January 7, 2026, posting the advisory to the oss-security mailing list (Openwall). Community and media coverage was moderate, with Linux distribution security teams (SUSE, Fedora, Ubuntu, Amazon Linux) promptly issuing updated packages. The curl project noted the flaw is not considered a C language mistake and is limited to a narrow set of configurations, tempering broader alarm (curl Advisory).

Additional resources


SourceThis report was generated using AI

Related cURL vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-9079CRITICAL9.8
  • cURL logocURL
  • rust-doc
NoYesJul 03, 2026
CVE-2026-9546HIGH7.5
  • cURL logocURL
  • s390utils-osasnmpd
NoYesJul 03, 2026
CVE-2026-9545HIGH7.5
  • cURL logocURL
  • libcurl4-32bit
NoYesJul 03, 2026
CVE-2026-9547HIGH7.4
  • cURL logocURL
  • curl.src
NoYesJul 03, 2026
CVE-2026-9080HIGH7.3
  • cURL logocURL
  • rust-std-static-x86_64-unknown-none
NoYesJul 03, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management