Medium
broken TLS options for threaded LDAPS
Type: advisorySources: OSV
When doing multi-threaded LDAPS transfers (LDAP over TLS) with libcurl, changing TLS options in one thread would inadvertently change them globally and therefore possibly also affect other concurrently setup transfers. Disabling certificate verification for a specific transfer could unintentionally disable the feature for other threads as well.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2025-14017
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 1 Nov 2026, 09:40 UTC · Revision 1
Source evidence
When doing multi-threaded LDAPS transfers (LDAP over TLS) with libcurl, changing TLS options in one thread would inadvertently change them globally and therefore possibly also affect other concurrently setup transfers. Disabling certificate verification for a specific transfer could unintentionally disable the feature for other threads as well.
osv:CURL-CVE-2025-14017
Complete source record
{
"id": "a2885266e06719b16f7931ff81b4fa819127587ee7aa7a28113225ee253da14b",
"url": "https://osv.dev/vulnerability/CURL-CVE-2025-14017",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "broken TLS options for threaded LDAPS",
"summary": "When doing multi-threaded LDAPS transfers (LDAP over TLS) with libcurl, changing TLS options in one thread would inadvertently change them globally and therefore possibly also affect other concurrently setup transfers. Disabling certificate verification for a specific transfer could unintentionally disable the feature for other threads as well.",
"evidence": "osv:CURL-CVE-2025-14017",
"products": [],
"severity": "medium",
"structured": {
"id": "CURL-CVE-2025-14017",
"aliases": [
"CURL-CVE-2025-14017",
"CVE-2025-14017"
],
"affected": [
{
"ranges": [
{
"type": "SEMVER",
"events": [
{
"introduced": "7.17.0"
},
{
"fixed": "8.14.2"
},
{
"introduced": "8.15.0"
},
{
"fixed": "8.16.1"
},
{
"introduced": "8.17.0"
},
{
"fixed": "8.18.0"
}
]
},
{
"repo": "https://github.com/curl/curl.git",
"type": "GIT",
"events": [
{
"introduced": "ccba0d10b6baf5c73cae8cf4fb3f29f0f55c5a34"
},
{
"fixed": "39d1976b7f709a516e3243338ebc0443bdd8d56d"
}
]
}
],
"versions": [
"8.17.0",
"8.16.0",
"8.15.0",
"8.14.1",
"8.14.0",
"8.13.0",
"8.12.1",
"8.12.0",
"8.11.1",
"8.11.0",
"8.10.1",
"8.10.0",
"8.9.1",
"8.9.0",
"8.8.0",
"8.7.1",
"8.7.0",
"8.6.0",
"8.5.0",
"8.4.0",
"8.3.0",
"8.2.1",
"8.2.0",
"8.1.2",
"8.1.1",
"8.1.0",
"8.0.1",
"8.0.0",
"7.88.1",
"7.88.0",
"7.87.0",
"7.86.0",
"7.85.0",
"7.84.0",
"7.83.1",
"7.83.0",
"7.82.0",
"7.81.0",
"7.80.0",
"7.79.1",
"7.79.0",
"7.78.0",
"7.77.0",
"7.76.1",
"7.76.0",
"7.75.0",
"7.74.0",
"7.73.0",
"7.72.0",
"7.71.1",
"7.71.0",
"7.70.0",
"7.69.1",
"7.69.0",
"7.68.0",
"7.67.0",
"7.66.0",
"7.65.3",
"7.65.2",
"7.65.1",
"7.65.0",
"7.64.1",
"7.64.0",
"7.63.0",
"7.62.0",
"7.61.1",
"7.61.0",
"7.60.0",
"7.59.0",
"7.58.0",
"7.57.0",
"7.56.1",
"7.56.0",
"7.55.1",
"7.55.0",
"7.54.1",
"7.54.0",
"7.53.1",
"7.53.0",
"7.52.1",
"7.52.0",
"7.51.0",
"7.50.3",
"7.50.2",
"7.50.1",
"7.50.0",
"7.49.1",
"7.49.0",
"7.48.0",
"7.47.1",
"7.47.0",
"7.46.0",
"7.45.0",
"7.44.0",
"7.43.0",
"7.42.1",
"7.42.0",
"7.41.0",
"7.40.0",
"7.39.0",
"7.38.0",
"7.37.1",
"7.37.0",
"7.36.0",
"7.35.0",
"7.34.0",
"7.33.0",
"7.32.0",
"7.31.0",
"7.30.0",
"7.29.0",
"7.28.1",
"7.28.0",
"7.27.0",
"7.26.0",
"7.25.0",
"7.24.0",
"7.23.1",
"7.23.0",
"7.22.0",
"7.21.7",
"7.21.6",
"7.21.5",
"7.21.4",
"7.21.3",
"7.21.2",
"7.21.1",
"7.21.0",
"7.20.1",
"7.20.0",
"7.19.7",
"7.19.6",
"7.19.5",
"7.19.4",
"7.19.3",
"7.19.2",
"7.19.1",
"7.19.0",
"7.18.2",
"7.18.1",
"7.18.0",
"7.17.1",
"7.17.0",
"curl-8_17_0",
"curl-8_16_0",
"curl-8_15_0",
"curl-8_14_1",
"curl-8_14_0",
"curl-8_13_0",
"curl-8_12_1",
"curl-8_12_0",
"curl-8_11_1",
"curl-8_11_0",
"curl-8_10_1",
"curl-8_10_0",
"curl-8_9_1",
"curl-8_9_0",
"curl-8_8_0",
"curl-8_7_1",
"curl-8_7_0",
"curl-8_6_0",
"curl-8_5_0",
"tiny-curl-8_4_0",
"curl-8_4_0",
"curl-8_3_0",
"curl-8_2_1",
"curl-8_2_0",
"curl-8_1_2",
"curl-8_1_1",
"curl-8_1_0",
"curl-8_0_1",
"curl-8_0_0",
"curl-7_88_1",
"curl-7_88_0",
"curl-7_87_0",
"curl-7_86_0",
"curl-7_85_0",
"curl-7_84_0",
"curl-7_83_1",
"curl-7_83_0",
"curl-7_82_0",
"curl-7_81_0",
"curl-7_80_0",
"curl-7_79_1",
"curl-7_79_0",
"curl-7_78_0",
"curl-7_77_0",
"curl-7_76_1",
"curl-7_76_0",
"curl-7_75_0",
"curl-7_74_0",
"curl-7_73_0",
"tiny-curl-7_72_0",
"curl-7_72_0",
"curl-7_71_1",
"curl-7_71_0",
"curl-7_70_0",
"curl-7_69_1",
"curl-7_69_0",
"curl-7_68_0",
"curl-7_67_0",
"curl-7_66_0",
"curl-7_65_3",
"curl-7_65_2",
"curl-7_65_1",
"curl-7_65_0",
"curl-7_64_1",
"curl-7_64_0",
"curl-7_63_0",
"curl-7_62_0",
"curl-7_61_1",
"curl-7_61_0",
"curl-7_60_0",
"curl-7_59_0",
"curl-7_58_0",
"curl-7_57_0",
"curl-7_56_1",
"curl-7_56_0",
"curl-7_55_1",
"curl-7_55_0",
"curl-7_54_1",
"curl-7_54_0",
"curl-7_53_1",
"curl-7_53_0",
"curl-7_52_1",
"curl-7_52_0",
"curl-7_51_0",
"curl-7_50_3",
"curl-7_50_2",
"curl-7_50_1",
"curl-7_50_0",
"curl-7_49_1",
"curl-7_49_0",
"curl-7_48_0",
"curl-7_47_1",
"curl-7_47_0",
"curl-7_46_0",
"curl-7_45_0",
"curl-7_44_0",
"curl-7_43_0",
"curl-7_42_1",
"curl-7_42_0",
"curl-7_41_0",
"curl-7_40_0",
"curl-7_39_0",
"curl-7_38_0",
"curl-7_37_1",
"curl-7_37_0",
"curl-7_36_0",
"curl-7_35_0",
"curl-7_34_0",
"curl-7_33_0",
"curl-7_32_0",
"curl-7_31_0",
"curl-7_30_0",
"curl-7_29_0",
"curl-7_28_1",
"curl-7_28_0",
"curl-7_27_0",
"curl-7_26_0",
"curl-7_25_0",
"curl-7_24_0",
"curl-7_23_1",
"curl-7_23_0",
"curl-7_22_0",
"curl-7_21_7",
"curl-7_21_6",
"curl-7_21_5",
"curl-7_21_4",
"curl-7_21_3",
"curl-7_21_2",
"curl-7_21_1",
"curl-7_21_0",
"curl-7_20_1",
"curl-7_20_0",
"curl-7_19_7",
"curl-7_19_6",
"curl-7_19_5",
"curl-7_19_4",
"curl-7_19_3",
"curl-7_19_2",
"curl-7_19_1",
"curl-7_19_0",
"curl-7_18_2",
"curl-7_18_1",
"curl-7_18_0",
"curl-7_17_1",
"curl-7_17_0"
],
"database_specific": {
"source": "https://curl.se/docs/CURL-CVE-2025-14017.json",
"vanir_signatures": [
{
"id": "CURL-CVE-2025-14017-28146b14",
"digest": {
"length": 8505,
"function_hash": "37413675167135937267792190267466435311"
},
"source": "https://github.com/curl/curl.git/commit/39d1976b7f709a516e3243338ebc0443bdd8d56d",
"target": {
"file": "lib/ldap.c",
"function": "ldap_do"
},
"deprecated": false,
"signature_type": "Function",
"signature_version": "v1"
},
{
"id": "CURL-CVE-2025-14017-8cb6942c",
"digest": {
"threshold": 0.9,
"line_hashes": [
"291066512972280488307819903431993511202",
"335616671601391784408763749425491255102",
"15332393221871824012294322508883110483",
"269595456889441104059461341461282194900",
"276615617976952633141037312128738047727",
"163614650112109509474010240133925201841",
"281233309491075572802283826301602968374",
"14142371141113040174230590269486963662",
"80887541070283731735738379837659782175",
"120914942518298191687399908592158931202",
"93641439614167132758334721003857430320",
"118210159464298990742303814155827108681",
"165975699607295818890105673247800433358",
"19967447634158104553406852286906696124",
"140185581814792422821856040848954572599",
"315643603779251402706589703234131367150",
"77423940815346791454775608675517974463",
"320597090553420297191630722033847384339",
"212018246941482313252249547290288013567",
"95885357128481937551209278134956402850",
"282160757975273296493094105707377141127",
"117193982966611066631718089743643124438",
"339904193100834606227603711318172058858",
"318629454668127129823685974022878197029",
"275081019603276673367816076513961505174",
"295569135545302919915932377040749070381",
"259418389924122707676190241073862100530",
"256685216033499453390440332046132908337",
"318215904910732804034858650009431276630",
"42445011043620067568904673483033680825",
"18468973848617223247640457495460008409",
"13684758176737454538656927307832655890",
"215558187170538087680595887746612224749",
"239301495187817853611518132056467549382",
"169751027945365372508360952543330733479",
"264117732922448541323229768772369219671",
"160858660696129734475924792087462839269",
"249498687208425847296496573306379814541",
"244653012810279422055473875852913854530",
"117193982966611066631718089743643124438",
"249555951262227619129170857755038143003",
"161024972162410073878767851951891109666",
"194269265092435364072190133701773270215",
"109142120982148421629891383061899265711",
"23951645517238640387132132870398035206",
"187059438104196369548791994548420436954",
"179265822852950346100333883858837625157",
"115407509726540468409710278701113586657",
"260076220841979353149925267667204103755",
"259418389924122707676190241073862100530",
"256685216033499453390440332046132908337",
"318215904910732804034858650009431276630",
"194675660771287079869313910475749467715",
"67243697143603151168811820865342706320",
"226784787181357359076499561195335535981",
"18345432228180760147585764606044986151"
]
},
"source": "https://github.com/curl/curl.git/commit/39d1976b7f709a516e3243338ebc0443bdd8d56d",
"target": {
"file": "lib/ldap.c"
},
"deprecated": false,
"signature_type": "Line",
"signature_version": "v1"
}
],
"vanir_signatures_modified": "2026-10-25T01:16:46Z"
}
}
],
"modified": "2026-10-25T01:16:46.789781715Z",
"provider": "osv",
"references": [],
"provider_metadata": {
"CWE": {
"id": "CWE-567",
"desc": "Unsynchronized Access to Shared Data in a Multi-threaded Context"
},
"URL": "https://curl.se/docs/CVE-2025-14017.json",
"www": "https://curl.se/docs/CVE-2025-14017.html",
"award": {
"amount": "2540",
"currency": "USD"
},
"affects": "lib",
"package": "curl",
"severity": "Medium",
"last_affected": "8.17.0"
}
},
"related_cves": [
{
"value": "CVE-2025-14017",
"evidence": "/aliases"
}
],
"security_relevant": true,
"severity_evidence": "/database_specific/severity"
},
"source_id": "core-osv",
"document_id": 444442,
"published_at": "2026-01-07T08:00:00+00:00"
}