---
id: CVE-2026-103261
title: >-
  Tornado before 6.5.9 fails to limit the number of query string fields in
  HTTPServerRequest.__init__, allowing remote attackers to cause event-loop
  stalling by sending requests with thousands of query parameters
summary: >-
  Tornado before 6.5.9 fails to limit the number of query string fields in
  HTTPServerRequest.__init__, allowing remote attackers to cause event-loop
  stalling by sending requests with thousands of query parameters. Attackers can
  send unauth…
severity: medium
cvss: 5.3
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L'
cwe:
  - CWE-770
vendor: tornadoweb
product: tornado
affected:
  - tornado < 6.5.9
published: '2026-10-01'
updated: '2026-10-01'
sourceUpdated: '2026-10-01T11:17:20.997'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-103261'
references:
  - url: >-
      https://github.com/tornadoweb/tornado/commit/03945136ea9746eccf61caf88edae39642e59c93
    label: disclosure@vulncheck.com
  - url: >-
      https://github.com/tornadoweb/tornado/security/advisories/GHSA-3hv7-mjh2-fv65
    label: disclosure@vulncheck.com
  - url: >-
      https://www.vulncheck.com/advisories/tornado-before-6.5.9-denial-of-service-via-query-string
    label: disclosure@vulncheck.com
tags:
  - nvd
  - cve.org
ingestedAt: '2026-10-01T11:42:53.804Z'
---

## Overview

Tornado before 6.5.9 fails to limit the number of query string fields in HTTPServerRequest.__init__, allowing remote attackers to cause event-loop stalling by sending requests with thousands of query parameters. Attackers can send unauthenticated GET requests with unbounded query-string field counts to degrade response times for all clients sharing the same IOLoop.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
