curl netrc crlf注入漏洞报告
摘要
curl允许在netrc文件的登录和密码字段中编码CR和LF字符。当攻击者能够影响netrc文件内容时,可通过在登录名或密码中注入CRLF来实现FTP命令注入。POP3协议同样可能受影响但未经测试。
漏洞复现步骤
- 创建包含恶意payload的netrc文件:
|
|
- 启动测试用的FTP服务器:
|
|
- 使用受影响curl版本发起请求:
|
|
修复建议
对于使用CR/LF作为分隔符的协议(如FTP、POP3等),在构造命令时不应允许用户名或密码中包含CR或LF字符。
影响评估
可实现FTP/POP3命令注入。项目方最终认定该问题属于"本地攻击者已存在"类别,不构成安全漏洞。
时间线
- 2024年11月9日:漏洞报告提交
- 2024年11月10日:curl团队确认问题性质
- 2024年11月10日:报告关闭(标记为Not Applicable)
- 2025年7月7日:报告公开披露