{"id":"ROOT-APP-PYPI-CVE-2026-31958","summary":"CVE-2026-31958 in tornado - Patched by Root","details":"Root has patched CVE-2026-31958 in the tornado package for Root:PyPI. Multiple fixed versions available.","modified":"2026-11-09T17:15:03.266119291Z","published":"2026-11-09T16:15:07Z","upstream":["CVE-2026-31958"],"database_specific":{"source":"Root","distro":"pypi","distro_version":"","severity":"HIGH"},"affected":[{"package":{"name":"tornado","ecosystem":"Root:PyPI"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"6.2+aikido.10"},{"fixed":"6.5.3+aikido.2"},{"fixed":"6.5.3+aikido.3"},{"fixed":"6.5.3+aikido.4"},{"fixed":"6.5.1+aikido.3"},{"fixed":"6.2+aikido.7"},{"fixed":"6.2+aikido.8"},{"fixed":"6.5.3+aikido.7"},{"fixed":"6.5.1+aikido.4"},{"fixed":"6.2+aikido.9"},{"fixed":"6.5.3+aikido.5"},{"fixed":"6.5.1+aikido.5"},{"fixed":"6.2+aikido.11"},{"fixed":"6.2+aikido.12"},{"fixed":"6.5.3+aikido.6"},{"fixed":"6.5.1+aikido.6"},{"fixed":"6.5.4+aikido.1"}]}],"database_specific":{"upstream_version":"6.5.4","all_fixed_versions":["6.2+aikido.10","6.5.3+aikido.2","6.5.3+aikido.3","6.5.3+aikido.4","6.5.1+aikido.3","6.2+aikido.7","6.2+aikido.8","6.5.3+aikido.7","6.5.1+aikido.4","6.2+aikido.9","6.5.3+aikido.5","6.5.1+aikido.5","6.2+aikido.11","6.2+aikido.12","6.5.3+aikido.6","6.5.1+aikido.6","6.5.4+aikido.1"],"source":"https://api.root.io/external/osv/ROOT-APP-PYPI-CVE-2026-31958.json","root_patch_version":"aikido.1","root_patched":true,"total_fixed_versions":17}}],"schema_version":"1.9.2","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}]}