CVE-2026-49854
ADVISORY - githubSummary
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).
GitHub
2.2
CVSS SCORE
3.7lowChainguard
CGA-gxmj-xx3h-94hw
-
minimos
MINI-72f9-6h26-9pqx
-
minimos
MINI-f263-r7hh-w766
-
minimos
MINI-r5jc-6p65-wg55
-
minimos
MINI-xrfp-w4m3-mjv5
-