内容简介:cURL 7.77.0 现已发布。这是该软件的第 200 次版本发布,因此官方也将 7.77.0 版本命名为 200 OK。 “它恰好与我们超过 900 个提交者和超过 2400 个项目的贡献者相吻合。这也是有史以来第一个我们在 RELEASE-NOTE...
cURL 7.77.0 现已发布。这是该软件的第 200 次版本发布,因此官方也将 7.77.0 版本命名为 200 OK。
“它恰好与我们超过 900 个提交者和超过 2400 个项目的贡献者相吻合。这也是有史以来第一个我们在 RELEASE-NOTES 中感谢 80 多人帮助我们发布的版本,并且我们 在bug-bounty 计划中创造了两个新的记录:对一个 bug 的最大单次支付(2000 美元)和在一个发布周期内的最大总支付 3800 美元。”
Release Presentation
Numbers
- 第 200 次发布
- 5 changes
- 42 天 (total: 8,468)
- 133 bug-fixes (total: 6,966)
- 192 commits (total: 27,202)
- 0 个新的 public libcurl function (total: 85)
- 2 个新的 curl_easy_setopt() 选项 (total: 290)
- 2 个新的 curl 命令行选项 (total: 242)
- 82 contributors, 44 new (total: 2,410)
- 47 authors, 23 new (total: 901)
- 3 个安全修复 (total: 103)
- 3800 美元的 Bug 赏金 (total: 9,000 USD)
Security
- CVE-2021-22901: TLS session caching disaster。这是 OpenSSL 后端代码中的一个 Use-After-Free,在 absolutely worst 的情况下会导致 RCE,即远程代码执行。这个漏洞是最近才出现的,很难被利用,但官方建议用户应该立即升级或打补丁。从 TLS 服务器发送与 TLS 会话相关的信息时,如果以前使用它的传输已经完成并消失,则会发生此问题。这就是那个价值 2000 美元的 bug。
- CVE-2021-22898: TELNET stack contents disclosure。当 libcurl 接受自定义 TELNET 选项发送至服务器时,输入解析器存在缺陷,可被利用来让 libcurl 代替堆栈发送内容。这个漏洞价值 1000 美金。
- CVE-2021-22897: schannel cipher selection surprise。在 Schannel 的后端代码中,为一次 transfer 所选择的密码被存储在一个静态变量中。这导致一个传输的选择削弱了单组传输的选择,可能会在不知不觉中影响其他连接,使其安全等级低于预期。这个漏洞价值 800 美金。
Changes
- Make TLS flavor explicit:curl configure 脚本不再默认选择一个特定的 TLS 库。现在当使用 configure 构建 curl 时,需要选择要使用的库。
- No more SSL:curl 现在不再有支持 SSLv2 或 SSLv3 的痕迹。这些古老而不安全的 SSL 版本已经被各地的 TLS 库默认禁用,但现在即使在特殊构建中也无法激活它们。从 curl 工具和库中都删除了(因此算作两个 change)。
- HSTS in the build:此前版本中曾带来了对 HSTS 的实验性支持,现在已去掉了实验性的标签,并在构建时默认启用,以便大家更容易地使用它。
- In-memory cert API:为 libcurl 引入 API 选项,允许用户在内存中指定证书,而不是使用文件系统中的文件。参见 CURLOPT_CAINFO_BLOB。
一些有趣的 bug-fixes
- Version output:curl -V 输出的 first line 得到了更新:libcurl 现在包括了 OpenLDAP 及其在构建中使用的版本;然后 curl 工具可以添加 libmetalink 及其在构建中使用的版本。
- curl_mprintf: add description:在 API 中提供了 *printf() clone functions,同时首次提供了一个明确的使用手册页。
- CURLOPT_IPRESOLVE: 防止使用错误的 IP 版本:官方指出,这个选项比以前更严格了一些。以前,它对现有的连接比较宽松,倾向于重复使用而不是再次解析,但是从现在开始,这个选项确保只使用请求 IP 版本的连接。这允许应用程序在需要时使用不同的 IP 版本明确地创建两个独立的连接到同一个主机,在以前,libcurl 则不会轻易让你这么做。
- 忽略 curl_easy_send 中的 SIGPIPE
- Several HTTP/2-fixes:在这个版本中,HTTP/2 模块中提到了不少于 6 个独立的修复措施。一些潜在的内存泄漏,但也有一些更多的行为改进。最重要的可能是将传输相关的错误代码从连接结构移至传输结构,因为它容易受到 race condition 的影响,可能会导致错误。另一个相关的修正是,libcurl 不再强行断开一个传输得到 HTTP_1_1_REQUIRED 结果的连接。
- Partial CONNECT requests:当发送给代理的 CONNECT HTTP 请求没有全部在单个 send() 调用中发送时,curl 会失败。不过令人费解的是,这个 bug 在早期的时候并没有被发现或报告,却在最近一次发出一个大于 16KB 的 CONNECT 请求时被发现了。
- ......
下一个版本计划于 2021 年 7 月 21 日发布,但具体的版本号还尚未确定。
详情可查看:https://daniel.haxx.se/blog/2021/05/26/curl-7-77-0-200-ok/
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- NPM包(模块)发布、更新、撤销发布
- 有赞灰度发布与蓝绿发布实践
- 【重磅发布】Linkis 0.10.0 版本发布
- BeetlSQL 3.0.9 发布,Idea 插件发布
- 贝密游戏 0.7.0 发布,发布斗地主
- 【重磅发布】DataSphere Studio 0.9.0 版本发布
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。