CVE-2020-36948CVE-2020-36948是VestaCP(一个开源主机控制面板)0.9.8-26版本中存在的高危安全漏洞。该漏洞位于LoginAs模块,由于对会话令牌的验证不足,允许未经身份验证的远程攻击者通过操纵认证令牌来访问用户账户。攻击者利用此漏洞可以绕过正常的身份验证流程,以任意用户身份登录系统,进而执行未授权的操作,包括访问敏感数据、修改系统配置等。由于该漏洞无需任何认证即可被利用,且CVSS评分高达9.8,因此被评定为严重级别。VestaCP作为广泛使用的Web主机管理工具,此漏洞影响了大量托管服务器的安全。
该漏洞的根本原因在于VestaCP的LoginAs模块对会话令牌的处理存在严重缺陷。在正常的认证流程中,用户登录时服务器会生成唯一的会话令牌并与用户身份绑定。然而,由于该模块在验证令牌时仅检查令牌的存在性而未充分验证其有效性、时效性以及与请求的关联性,攻击者可以通过以下方式利用:1) 攻击者构造恶意请求,替换或伪造会话令牌;2) 系统错误地接受无效或过期的令牌;3) 攻击者利用token预测或会话固定技术获取有效会话;4) 由于LoginAs功能设计缺陷,攻击者可以在未获得管理员权限的情况下冒充任意用户身份。整个攻击过程无需目标用户交互,攻击者可直接通过网络请求完成账户劫持。