
阅读《2024 中国开源开发者报告》赢大奖,扫码申请享特权

curl 8.12.0 现已正式发布,具体更新内容包括:
Security
- CVE-2025-0167:netrc 和默认凭据泄露。当被要求使用
.netrc
文件作为凭据并遵循 HTTP 重定向时,curl 可能会在某些情况下将用于第一个主机的密码泄露给后续主机。此缺陷仅在 netrc 文件中有一个default
省略登录名和密码的条目时才会显现。这是一种罕见的情况。 - CVE-2025-0665:eventfd double close。在完成线程名称解析后关闭连接通道时,libcurl 会错误地两次关闭同一个文件描述符。
- CVE-2025-0725:gzip 整数溢出。当使用 zlib 1.2.0.3 或更旧版本的 libcurl 被要求使用
CURLOPT_ACCEPT_ENCODING
选项对内容编码的 HTTP 响应执行自动 gzip 解压缩时,攻击者控制的整数溢出会使 libcurl 执行缓冲区溢出。几乎没有用户还在使用如此老旧和易受攻击的 zlib 版本。
Changes
- curl:为从文件读取变量添加字节范围支持
- curl:make –etag-save acknowledge –create-dirs
- curl:将“time_queue”变量添加到 -w
- getinfo:提供用于 HTTP 和代理的身份验证信息:
- openssl:添加使用来自 PKCS#11 供应商的密钥和证书的支持
- QUIC:通过 CURLSSLOPT_EARLYDATA 实现 gnutls 的 0RTT
- vtls:为 SSL 会话 im-/export 提供 ssls-export 功能
- hyper:放弃支持
Bugfixes
libcurl
- 确认 CURLOPT_DNS_SERVERS 设置为 NULL
- 修复 CURLOPT_CURLU override logic
- 初始 HTTPS RR 解析支持
- 禁止使用 sscanf()
- 支持使用自定义 libzstd 内存函数
- 将 cookie 的过期时间限制为 400 天
- 仅解析确切的 cookie 过期日期
- 在 curl_multi_fdset 返回的集合中包含关闭连接
- ECH:将 API 更新为与 OpenSSL 维护人员达成一致的 API
- mbedtls:修复 blocked sends 的处理
- 在 Windows 上终止 snprintf 输出
- 将 ssl_scache 添加到 multi handle
- 为 wolfSSL + OpenSSL 构建自动启用
OPENSSL_COEXIST
- 使用 SSL_poll 确定 OpenSSL QUIC streams 的可写性
- ……
scripts
- 众多 cmake 改进
- scripts/mdlinkcheck:markdown 链接检查器
curl tool
- 如果 etag 选项与多个 URL 一起使用,则返回错误
- 接受 –form type= 字符串中的数字
- make –etag-compare 接受不存在的文件
docs
- 添加 INFRASTRUCTURE.md describing project infra
下一个版本 curl 8.13.0 预计将于 2025 年 4 月 2 日发布。
还没有评论,来说两句吧...