报告 #2859735 - curl –continue-at 混淆
提交者: nyymi
提交时间: 2024年11月22日 3:59am UTC
报告对象: curl
摘要
当curl命令与--continue-at
选项一起使用时,--no-clobber
选项会被意外忽略,curl会将输出追加到目标文件,即使该文件已存在。如果--continue-at
与--remove-on-error
一起使用,可能导致在早期错误时意外删除文件。注意,当与--remote-name
和--remote-header-name
组合时也会发生这种情况。
重现步骤
篡改文件,即使使用了--no-clobber
:
|
|
注意: 不使用-C 1
时,输出会写入到robots.txt.<n>
。
结合--remove-on-error
与--continue-at
删除文件:
|
|
注意: 不使用-C 1
时,文件不会被删除。
修复建议
阻止这些问题发生的最简单方法是禁止将--continue-at
与--no-clobber
或--remove-on-error
组合使用。
影响
对现有文件进行意外修改或删除。
时间线
-
2024年11月22日 4:03am UTC: nyymi 更新漏洞信息。
-
2024年11月22日 4:10am UTC: nyymi 再次更新漏洞信息。
-
2024年11月22日 4:53am UTC: bagder (curl staff) 发表评论,表示感谢报告,并承诺尽快调查。
-
2024年11月23日 9:48am UTC: bagder 认为这更像是未记录区域/意外行为,而非纯粹的安全问题。
-
2024年11月23日 11:57am UTC: nyymi 同意文档不清晰,建议澄清
--continue-at
选项以及其与--range
的交互。 -
2024年11月23日 1:55pm UTC: nyymi 倾向于认为这是文档问题,但建议curl命令在这些选项组合时应表现一致(例如报错)。
-
2024年11月26日 2:21pm UTC: bagder 同意需要详细记录这些细节,建议提交为bug报告,不视为安全问题。
-
2024年11月26日 3:43pm UTC: nyymi 关闭报告,状态改为“不适用”。
-
14天前: bagder 请求披露此报告,遵循项目透明度政策。
-
14天前: bagder 披露此报告。
报告详情
- 报告ID: #2859735
- 严重性: 中等 (4 ~ 6.9)
- 披露时间: 2025年7月7日 10:18am UTC
- 弱点: 业务逻辑错误
- CVE ID: 无
- 赏金: 无
- 账户详情: 无