CVE-2020-35681: Django Channels leakage of session identifiers using legacy AsgiHandler
7.4
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.73076%
CWE
Published
3/19/2021
Updated
9/13/2024
KEV Status
No
Technology
Python
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:H
Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
---|---|---|---|
channels | pip | >= 3.0.0, < 3.0.3 | 3.0.3 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stemmed from state mutation in AsgiHandler's call method (setting self.scope/self.send) and subsequent reliance on this shared state in the handle method. The patch removed instance variable mutations and passed request-specific parameters directly to handle. The concurrent request test added in test_http.py demonstrates how shared state could lead to cross-request leakage. StaticFilesHandler modifications were secondary to the core scope isolation issue in AsgiHandler.