CVE-2026-35192该漏洞存在于Django 6.0.5之前及5.2.14之前的版本中。当配置SESSION_SAVE_EVERY_REQUEST为True且会话未被修改时,响应头未根据Cookie进行差异化处理。攻击者可利用此缺陷,在用户访问被缓存的公共页面后,窃取用户会话信息。
漏洞核心在于Django处理中间缓存与会话机制时的逻辑错误。当SESSION_SAVE_EVERY_REQUEST开启时,系统期望通过发送Set-Cookie头部来维持会话活跃度。然而,若请求未修改会话状态,Django可能未在响应中包含Vary: Cookie头部。这导致包含身份验证Cookie的响应被CDN或浏览器缓存。当未认证用户(攻击者)请求同一资源时,可能直接获取到包含受害者会话Cookie的缓存页面,从而绕过认证机制实现会话劫持。