CVE-2021-47953OpenCart 3.0.3.7版本存在跨站请求伪造(CSRF)漏洞。由于`account/password`接口缺乏有效的CSRF防护机制,攻击者可以诱导已认证的用户访问恶意链接或提交特制的表单请求。一旦用户触发了该请求,其账户密码将在不知情的情况下被攻击者修改,从而导致账户被劫持。
该漏洞源于OpenCart在处理用户密码修改请求时,未对关键状态更改操作实施充分的CSRF令牌验证或Referer来源检查。攻击者可构建一个包含隐藏表单的恶意HTML页面,表单目标指向受害者的OpenCart站点`account/password`端点,并预设了`password`和`confirm`参数。当已登录用户访问该页面时,浏览器会自动携带用户的会话Cookie发送POST请求。服务器无法区分请求来源的合法性,直接执行了密码更新逻辑,导致攻击者可接管用户账户。