Skip to main content

Tornado CVE-2026-35536

| EUVDEUVD-2026-18574 MEDIUM
Improper Handling of Invalid Use of Special Elements (CWE-159)
2026-04-03 mitre GHSA-fqwm-6jpj-5wxc
5.3
CVSS 3.1 · NVD
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Craft HTTP request with malicious cookie parameters
  2. Delivery
    Inject special characters in domain/path/samesite arguments
  3. Exploit
    Bypass cookie validation in Tornado
  4. Execution
    Modify cookie attributes affecting other users
  5. Impact
    Achieve cookie poisoning and session hijacking

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Special element handling
Exploitation Conditions

Requires Tornado web framework versions before 6.5.5. Attacker exploits application code that calls RequestHandler.set_cookie() with unsanitized user-controlled input in domain, path, or samesite parameters. Remote unauthenticated exploitation; no victim interaction needed.

Impact

The CVSS vector (AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N) indicates network-accessible exploitation with low complexity, requiring no authentication or user interaction, with scope change and low confidentiality/integrity impact. The Changed Scope (S:C) is particularly significant, suggesting the vulnerability can affect resources beyond the vulnerable component's security scope. However, real-world risk is moderated by several factors: the attack requires the application to accept attacker-controlled input into cookie parameters (domain/path/samesite arguments), which is uncommon in typical Tornado usage patterns where these are usually hard-coded by developers. The lack of CISA KEV listing and public exploit code suggests limited observed exploitation. SSVC assessment would likely classify this as having Technical Impact of Partial (limited confidentiality/integrity), not Automatable in most scenarios (requires application-specific logic), making it a medium-priority patch candidate rather than an emergency. Organizations using Tornado in environments where cookie parameters are dynamically generated from user input face elevated risk.

Exploit ScenarioDerived

An attacker identifies a Tornado-based web application where user input influences cookie parameters, such as a multi-tenant system accepting subdomain values for cookie scoping. The attacker crafts a malicious domain parameter containing semicolon-delimited cookie attributes (e.g., 'example.com; HttpOnly=false; SameSite=None') and submits it through the application's cookie configuration endpoint. The unsanitized input is passed to RequestHandler.set_cookie, resulting in HTTP response headers with injected cookie directives that weaken security protections. The attacker can then leverage weakened SameSite or missing Secure flags to facilitate CSRF attacks or session hijacking over unencrypted connections, achieving limited confidentiality and integrity compromise across the application's security boundary.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Apr 03, 2026

Cookie attribute injection in Tornado web framework versions before 6.5.5 allows unauthenticated remote attackers to manipulate cookie security attributes through crafted characters in domain, path, and samesite parameters of RequestHandler.set_cookie. With CVSS 7.2 and EPSS data unavailable, this represents a moderate integrity and confidentiality risk for web applications using affected Tornado versions. No public exploit identified at time of analysis, though the vulnerability mechanism is straightforward for exploitation.

RemediationAI

Vendor-released patch: Tornado version 6.5.5. Organizations should upgrade to Tornado 6.5.5 or later immediately, available from https://github.com/tornadoweb/tornado/releases/tag/v6.5.5 and standard Python package repositories (pip install --upgrade tornado). For environments where immediate upgrade is not feasible, implement input validation on any user-controlled data passed to domain, path, or samesite parameters of set_cookie calls, specifically filtering or rejecting semicolons, newlines, carriage returns, and other HTTP header delimiter characters. Review application code to ensure cookie security attributes are statically defined rather than dynamically constructed from external input. Consult the GitHub security advisory at https://github.com/tornadoweb/tornado/security/advisories/GHSA-78cv-mqj4-43f7 for additional context and migration guidance.

Affected VersionsENISA

Tornado 0 <6.5.5

Affected Packages

pypi tornado fix: 6.5.5

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in pypi

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Tornado is a Python web framework and asynchronous networking library. This vulnerability (CWE-159: Improper Handling of Invalid Use of Special Elements) stems from insufficient input validation in the cookie-setting mechanism. The RequestHandler.set_cookie method accepts domain, path, and samesite parameters but fails to sanitize special characters that have semantic meaning in HTTP Set-Cookie headers (such as semicolons, commas, or newlines). An attacker can inject these characters to manipulate cookie attributes beyond the intended scope, potentially overriding security directives like HttpOnly, Secure flags, or cookie boundaries. The affected component is cpe:2.3:a:tornadoweb:tornado:*:*:*:*:*:*:*:*, specifically all versions prior to 6.5.5. This class of vulnerability exploits the trust boundary between application code and HTTP header serialization.

Know when Tornado gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

NVD PRIMARY 5.3 MEDIUM
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
SUSE 7.2 HIGH
AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
Red Hat 5.4 MEDIUM

Primary rating from NVD.

CVSS VectorNVD

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
Low
Availability
None

Lifecycle Timeline

4
Severity Changed
Jul 24, 2026 - 21:22 NVD
HIGH MEDIUM
CVSS changed
Jul 24, 2026 - 21:22 NVD
7.2 (HIGH) 5.3 (MEDIUM)
Patch released
Apr 04, 2026 - 08:30 nvd
Patch available
CVE Published
Apr 03, 2026 - 02:25 nvd
HIGH 7.2

DescriptionNVD

In Tornado before 6.5.5, cookie attribute injection could occur because the domain, path, and samesite arguments to .RequestHandler.set_cookie were not checked for crafted characters.

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 23 pypi packages depend on tornado (15 direct, 8 indirect)

Ecosystem-wide dependent count for version 6.5.5.

Executive ViewAI

Why It Matters

Tornado web framework versions before 6.5.5 contain a cookie attribute injection vulnerability that allows unauthenticated attackers to manipulate security attributes, potentially compromising session integrity and exposing sensitive data in applications relying on Tornado for session management. Organizations running affected versions must immediately assess their Tornado deployments and implement compensating controls, as no vendor patch is currently available.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: (1) Implement strict input validation on RequestHandler.set_cookie parameters to reject special characters and unexpected values in domain, path, and samesite attributes; (2) Use Web Application Firewall rules to detect and block requests with suspicious cookie manipulation patterns; (3) Enforce HttpOnly and Secure flags at framework initialization level to prevent client-side tampering; (4) Monitor session anomalies and implement rate-limiting on authentication endpoints; (5) Consider upgrading to alternative frameworks if timeline to patch release extends beyond organizational risk tolerance. Actively monitor Tornado security advisories for patch availability.

Threat Intelligence Overview

EPSS Score
0.0%
Top 89% exploitable
Threat Intel
1
1 source
Exploit
POC
Public exploit code exists
Social Media
1
Sightings
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA Vendor CIRCL GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC Yes
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

46
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Code Injection CRITICAL

Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.

CVE-2024-42733 CRITICAL POC
9.8 Mar 07

An issue in Docmosis Tornado v.2.9.7 and before allows a remote attacker to execute arbitrary code via a crafted script

CVE-2023-25266 HIGH POC
8.8 Feb 28

An issue was discovered in Docmosis Tornado prior to version 2.9.5. Rated high severity (CVSS 8.8), this vulnerability i

CVE-2025-67726 HIGH POC
7.5

py3-tornado in Alpine Linux received a security fix packaged as version 6.5.4-r0, addressing an unspecified vulnerabilit

CVE-2023-25265 HIGH POC
7.5 Feb 28

Docmosis Tornado <= 2.9.4 is vulnerable to Directory Traversal leading to the disclosure of arbitrary content on the fil

CVE-2023-25264 HIGH POC
7.5 Feb 28

An issue was discovered in Docmosis Tornado prior to version 2.9.5. Rated high severity (CVSS 7.5), this vulnerability i

CVE-2026-116577 MEDIUM POC
5.3 Oct 26

Tornado's HTTP/1.x header parser consumes quadratic CPU time when a header value is spread across many obsolete line-fol

CVE-2026-103262 HIGH
8.7 Oct 01

Denial of service in the Tornado web framework's CurlAsyncHTTPClient (all releases before 6.5.9) lets an unauthenticated

CVE-2026-31958 HIGH
8.7 Mar 11

In versions of Tornado prior to 6.5.5, the only limit on the number of parts in `multipart/form-data` is the `max_body_s

CVE-2026-91990 HIGH
8.7 Sep 15

Memory amplification denial of service in the Tornado Python web framework before 6.5.8 lets unauthenticated remote atta

CVE-2026-91992 HIGH
8.2 Sep 15

Credential leakage in Tornado's CurlAsyncHTTPClient (all releases through 6.5.6) lets sensitive per-request state — clie

CVE-2026-103263 HIGH
8.2 Oct 01

Unauthenticated local file disclosure in Tornado before 6.5.9 lets remote attackers read files outside a configured stat

CVE-2026-82397 HIGH
7.5 Aug 31

Denial-of-service in Tornado prior to 6.5.8 allows unauthenticated remote attackers to stall the entire server by sendin

Vendor StatusVendor

SUSE

Severity: High
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Fixed
SUSE Linux Enterprise Desktop 15 SP7 Fixed
SUSE Linux Enterprise High Performance Computing 12 Fixed
SUSE Linux Enterprise High Performance Computing 15 SP7 Fixed
SUSE Linux Enterprise High Performance Computing 15 SP7 Fixed

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy