CVE-2014-9720:
Tornado XSRF cookie allows side-channel attack against TLS (BREACH attack)
6.5
CVSS ScoreBasic Information
CVE ID
GHSA ID
EPSS Score
-
CWE
Published
5/17/2022
Updated
11/13/2024
KEV Status
No
Technology
Python
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N
Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
---|---|---|---|
tornado | pip | < 3.2.2 | 3.2.2 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stemmed from Tornado's XSRF token generation being predictable and static across requests. The pre-3.2.2 implementation in xsrf_token()
generated a fixed token (using os.urandom(16)
only once per cookie lifetime) and sent it without masking. This allowed BREACH attackers to exploit HTTP compression patterns. The commit 1c36307 introduced masking with a random salt in xsrf_token()
, and the test changes in web_test.py
confirm the token uniqueness requirement. The CWE-203 (Observable Discrepancy) aligns with the predictable token pattern enabling side-channel attacks.