cURL 是一个计算机软件项目,提供一个库(libcurl)和命令行工具(curl),用于使用各种网络协议传输数据。这个名字代表了 "Client URL"。
cURL 7.83 正式发布,更新内容如下:
安全修复
- CVE-2022-22576:当使用 OAUTH2 承载令牌时,curl 可能重复使用错误的连接。
- CVE-2022-27774:当 curl 跟随重定向到另一个协议或另一个端口号时,它可能会继续在新的连接上发送凭证,从而将合理的信息泄露给错误的一方。
- CVE-2022-27775:当要求使用 zone id 连接到 IPv6 地址时,curl 可能会重复使用错误的连接,因为在从池中挑选连接时没有正确检查 zone id。
- CVE-2022-27776:curl 的系统避免在重定向后向其他主机发送自定义的 auth 和 cookie,但没有考虑到端口号或协议,可能会将合理的信息泄露给错误的一方。
变化
- 实验性函数
- 引入了两个 新函数 curl_easy_header() 和 curl_easy_nextheader()。 它们允许应用程序获取特定 HTTP headers 的内容或在传输完成后迭代所有这些 headers。 应用程序之前已经能够访问 headers,但这些功能带来了新的易用性和灵活性。
- 命令行工具也被扩展为使用这些功能,以便轻松将 header 输出到
[--write-out](<https://everything.curl.dev/usingcurl/verbose/writeout>)
选项。
-no-clobber
使用此选项,你可以要求 curl 不覆盖本地文件,即使你已在 curl 命令行中将其指定为输出文件名。
-remove-on-error
新的命令行选项中的第二个:告诉 curl 在检测到并返回一个错误时,删除可能已经下载的部分文件。
- msh3这是第三个支持的 HTTP/3 后端
- 其他 Bug 修复
更多详情可查看:https://daniel.haxx.se/blog/2022/04/27/curl-7-83-0-headers-bonanza/