漏洞概要
cleanarg
辅助函数失效,当凭证以无空格形式附加在短选项后时(如-uUSER:PASS
对比-u USER:PASS
),敏感信息会暴露在/proc/XXX/cmdline
中。
受影响版本
|
|
重现步骤
- 在Linux环境执行:
|
|
- 通过其他用户查看进程信息:
|
|
技术细节
- 参数解析缺陷:短选项与凭证直接连接时(如
-ufoo:bar
),参数清洗机制失效 - 信息暴露路径:
ps aux
进程列表/proc/<pid>/cmdline
系统文件
- 初始修复记录:涉及7f67a28等提交,但未完全覆盖边界情况
安全影响
- 风险等级:中危(4~6.9 CVSS)
- 攻击场景:同一主机的低权限用户可获取:
- HTTP基础认证凭据
- 代理服务器密码
- API密钥等敏感数据
官方回应
curl团队认为这是功能缺陷而非安全漏洞:
“命令行参数隐藏是尽力而为的特性,不能作为安全保证”
建议通过环境变量或配置文件传递敏感参数
相关资源
-
漏洞披露策略说明
该问题已被标记为Informative
级别,未分配CVE编号。