Tornado has out-of-bounds memory access via C extension
Summary
Tornado's optional native extension tornado.speedups implements websocket_mask without validating that the mask argument is exactly four bytes long. The C function reads four bytes from mask unconditionally, even when Python passes a shorter byte string. This can read beyond the provided buffer, exposing up to 3 bytes of uninitialized memory.
The behavior is reachable from Tornado's XSRF token decoder when xsrf_cookies=True and the native extension is active.
Mitigations
This bug is fixed in Tornado 6.5.6. Prior to upgrading to this version, setting the environment variable TORNADO_EXTENSION=0 will disable the vulnerable code (at the expense of reducing websocket performance).
Affected software
Click a technology to see all vulnerabilities affecting it.
| Platform | Package | Vulnerable versions | Fixed in |
|---|---|---|---|
| Python (PyPI) | tornado | < 6.5.6 | 6.5.6 |
References
- https://github.com/tornadoweb/tornado/security/advisories/GHSA-cx3h-4qpv-8hc9
- https://github.com/tornadoweb/tornado
- https://github.com/tornadoweb/tornado/releases/tag/v6.5.6
- https://pypi.org/project/tornado
- https://github.com/advisories/GHSA-cx3h-4qpv-8hc9
- https://nvd.nist.gov/vuln/detail/CVE-2026-49854
- CVSS vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N- Weakness (CWE)
CWE-126- Platform
- Python (PyPI)
- Package
tornado- Disclosed
- 12.06.2026
- Updated
- 11.10.2026 15:17
Sources and licenses
OSV / GitHub Advisory Database - PYSEC-2026-3388 - PyPA Advisory Database; CC BY 4.0
OSV / GitHub Advisory Database - GHSA-cx3h-4qpv-8hc9 - CC BY 4.0
Vulnerability history: tornado
All published vulnerabilities of this package (Python (PyPI)), newest first. Shows whether this is a one-off slip or a package that needs watching.
- Total entries
- 23
- First → latest
- 05.2012 09.2026
- Without a fix
- 0
- Exploited in attacks
- 0
Severity breakdown
- High 13
- Medium 8
- Low 2
Disclosures per year
- 2017: 0
- 2018: 0
- 2019: 0
- 2020: 1
- 2021: 0
- 2022: 0
- 2023: 2
- 2024: 3
- 2025: 4
- 2026: 12
earlier: 1
-
Tornado has out-of-bounds memory access via C extension this entry
Know which vulnerabilities affect your application
With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.