CVE-2025-61594CVE-2025-61594是Ruby URI模块中的一个高危信息泄露漏洞。该漏洞存在于Ruby 0.12.4及之前版本(Ruby 3.2系列)、0.13.2及之前版本(Ruby 3.3系列)和1.0.3及之前版本(Ruby 3.4系列)中。当使用URI模块的+操作符合并URI时,原始URI中包含的敏感信息(如用户名和密码)会被意外泄露到新生成的URI中。这一行为违反了RFC3986标准,可能导致应用程序面临凭据暴露风险。值得注意的是,该漏洞是CVE-2025-27221安全修复的绕过变种,攻击者可能利用此漏洞获取用户凭据,进而对系统进行未授权访问。
Ruby URI模块提供了处理统一资源标识符的类。在存在漏洞的版本中,当使用+操作符(如uri1 + uri2)合并两个URI对象时,如果原始URI(uri1)包含用户信息(userinfo),特别是包含密码的认证信息,这些敏感数据会被泄露到结果URI中。具体来说,当uri1为包含密码的URI(如http://user:[email protected]/path),与另一个URI进行+操作时,生成的URI会包含原始的密码信息,即使开发者意图只是合并路径部分。这一行为源于+操作符的实现方式,它会直接合并URI组件而未正确过滤敏感信息。由于密码泄露发生在URI合并操作中,攻击者只需构造特定的URI合并场景即可获取明文密码。