CVE-2021-47923 (CVSS 9.8) - OpenCart 3.0.3.8 contains a session fixation vulnerability that allows attackers
CVE-2021-47923 (CVSS 9.8) - OpenCart 3.0.3.8 contains a session fixation vulnerability that allows attackers
📋 漏洞概述
OpenCart 3.0.3.8 存在会话固定漏洞,攻击者可注入任意 OCSESSID 值劫持用户会话,导致账户接管。
📋 基础信息
| 受影响版本 | OpenCart 3.0.3.8 |
| 漏洞类型 | 会话固定 |
| CVSS | 9.8 · Critical |
| CVE | CVE-2021-47923 |
🔬 漏洞根因
OpenCart 3.0.3.8 在用户登录成功后未重新生成会话标识符,且服务器在认证过程中无条件接受客户端提供的 OCSESSID cookie 值。具体而言,用户登录后,会话ID保持不变,攻击者可以预先设置一个已知的 OCSESSID,诱骗受害者使用该ID登录,随后攻击者利用同一ID直接接管会话。缺乏会话固定防护机制(如登录后 session_regenerate_id() 调用)是根本设计缺陷。
🎯 攻击场景
1. 攻击者构造恶意链接或脚本,在受害者浏览器中设置一个攻击者已知的 OCSESSID cookie 值(例如通过钓鱼邮件中的图片或重定向)。2. 受害者点击链接,携带该预设的 OCSESSID 访问 OpenCart 商城并登录其账号。3. 服务器接受该预置的 OCSESSID 并绑定受害者的认证状态,未生成新会话ID。4. 攻击者通过自己的浏览器设置相同的 OCSESSID cookie 值。5. 攻击者无需密码即可直接访问受害者账号,查看订单、个人信息甚至利用管理员权限(若受害者是管理员)进行后台操作。
💥 漏洞影响
攻击者可完全接管受害用户会话,窃取个人数据、订单信息、收货地址。若受害者为管理员,还可导致后台配置篡改、商品数据泄露、插入恶意代码(如XSS payload)或执行任意操作,造成业务中断和用户信任受损。影响所有使用该版本 OpenCart 的商城系统。
🛡️ 修复建议
升级 OpenCart 至 3.0.3.9 及以上版本(官方已修复)。临时缓解措施:在服务器端启用 session_regenerate_id() 在登录成功后执行;配置 Web 应用防火墙(WAF)规则拦截异常 OCSESSID 值;使用 HttpOnly 和 Secure 属性强化 cookie 设置。
📎 参考链接
- https://nvd.nist.gov/vuln/detail/CVE-2021-47923
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-47923
- 原始来源(NVD-Latest)
⚠️ 本文由漏洞情报系统自动生成,仅供安全研究与防御参考。生成时间: 2026-05-12 08:06 | 来源: NVD-Latest