CVE-2025-15224CVE-2025-15224是libcurl中的一个安全漏洞,当用户使用SCP或SFTP协议进行SSH-based文件传输,并明确要求使用公钥认证方式时,curl错误地仍然会尝试使用本地运行的SSH代理(SSH Agent)进行身份验证,而不是严格遵守用户指定的公钥认证方式。这一行为违反了用户的安全预期,可能导致以下问题:1)认证请求被重定向到非预期的SSH Agent;2)可能使用错误的密钥进行认证;3)在某些场景下可能被攻击者利用进行凭证劫持。攻击向量为网络可访问,攻击复杂度较高,需要用户交互,但无需认证即可利用。该漏洞影响curl的机密性(低)、完整性(低),可用性无影响。CVSS 3.1评分为3.1,属于低危级别。建议受影响的用户升级到最新版本以修复此问题。
漏洞存在于curl处理SSH公钥认证的逻辑中。当curl配置为使用SCP或SFTP协议进行文件传输,并指定使用公钥认证时,正常流程应该是:curl直接使用用户提供的公钥文件或默认公钥文件进行认证。然而,由于代码实现缺陷,curl在某些情况下会错误地检查并尝试使用本地SSH Agent。SSH Agent是一个后台程序,用于缓存用户的私钥,避免重复输入密码。攻击者可能通过以下方式利用此漏洞:1)在目标系统上预先运行恶意的SSH Agent;2)诱导用户使用curl进行文件传输并指定公钥认证;3)curl错误地连接到攻击者控制的Agent;4)攻击者获取认证会话或执行中间人攻击。技术层面上,漏洞涉及curl的URL处理、SSH连接初始化和认证协商过程。攻击者需要控制网络或本地环境,攻击复杂度为高,但不需要任何认证权限。