综合 多线程 LDAPS 里改 TLS 选项会串到别的线程:CVE-2025-14017 与 curl 8.17.0 变更记录

2026-09-13 21:07:33

多线程 LDAPS 里改 TLS 选项会串到别的线程:CVE-2025-14017 与 curl 8.17.0 变更记录

  • 安全通告页(8.17.0 批次):
  • 8.17.0 变更日志:
  • CVE-2025-14017 详情:
  • NVD 记录:

问题现象

用 libcurl 做多线程 LDAPS(LDAP over TLS)传输时,在一个线程里修改 TLS 选项会意外地全局生效,从而影响其他并发传输的设置。具体表现是:为某一个特定传输关闭证书校验,可能把其他线程的校验也一起关掉。这类串扰不会报错,连接照样建立,只是校验已经被静默取消了。

影响版本范围

从 7.17.0 起,到 8.18.0 之前(不含 8.18.0)。NVD 记录中 8.17.0、8.16.0、8.15.0、8.14.1、8.14.0 等版本均受影响。NVD 的发布时间为 2026-01-08。

修复版本与处置

升级到 8.18.0 及以上版本。如果暂时无法升级,避免跨线程共享 TLS 选项,尤其是 CURLOPT_SSL_VERIFYPEERCURLOPT_SSL_VERIFYHOST 这类会改变校验行为的设置,不要在一个线程里为一个 handle 改动后指望它只作用于该传输。

curl 8.17.0 的其他变更

curl 8.17.0 于 2025-11-05 发布,Changes 中的主要条目:

  • build: drop Heimdal support
  • build: drop the winbuild build system
  • krb5: drop support for Kerberos FTP
  • libssh2: up the minimum requirement to 1.9.0
  • multi: add notifications API
  • progress: expand to use 6 characters per size
  • ssl: support Apple SecTrust configurations
  • tool_getparam: add --knownhosts
  • vssh: drop support for wolfSSH
  • wcurl: import v2025.11.04
  • write-out: make %header{} able to output all occurrences of a header

此外,CURLOPT_MAXLIFETIME_CONN 的默认值改为 24 小时。libcurl-security.md 中增加了关于长连接(long-running connections)的说明。

同一批次里的其他安全通告

curl 8.17.0 批次共发布 34 个漏洞。部分条目:

CVE问题影响范围
CVE-2026-12064proto-default skips SSH verification7.81.0 到 8.20.0
CVE-2026-11856cross-origin Digest auth state leak7.10.6 到 8.20.0
CVE-2026-11586WS Auto-PONG memory exhaustion8.16.0 到 8.20.0
CVE-2026-11564Native CA trust persist8.17.0 到 8.20.0
CVE-2026-10536HTTP/2 stream-dependency tree UAF7.88.0 到 8.20.0
CVE-2026-9547SSH improper host validation7.69.0 到 8.20.0
CVE-2026-7009OCSP stapling bypass with Apple SecTrust8.17.0 到 8.19.0
CVE-2025-15224libssh key passphrase bypass without agent set7.58.0 到 8.17.0
CVE-2025-13034No QUIC certificate pinning with GnuTLS8.8.0 到 8.17.0

当前发行序列的上一版是 8.16.0,下一版是 8.18.0。

自检建议

  • 打印实际链接的库版本(curl_version(),或 curl --version)确认是否落在受影响区间。
  • 检查 LDAPS/多线程代码路径中是否有对 CURLOPT_SSL_VERIFYPEERCURLOPT_SSL_VERIFYHOST 的临时改动;有的话确认这些 handle 是否与其他线程共享。
  • 关注 8.17.0 批次中与自身协议栈重合的条目(HTTP/2、SSH、WS、QUIC),批量对照版本区间。

计划移除项

curl 项目计划移除的内容包括:VS2008 构建、OpenSSL 1.x 支持、OpenSSL-QUIC、c-ares 1.16.0 之前的版本、Windows XP/2003、Windows CE。

复制全文 生成海报 curl 安全 运维 libcurl TLS

推荐文章

程序员茄子在线接单