Skip to content
Heist/ feed
Back to feed
High

Starlette vulnerable to O(n^2) DoS via Range header merging in starlette.responses.FileResponse

Type: advisorySources: OSV

Starlette is a lightweight ASGI framework/toolkit. Starting in version 0.39.0 and prior to version 0.49.1 , an unauthenticated attacker can send a crafted HTTP Range header that triggers quadratic-time processing in Starlette's FileResponse Range parsing/merging logic. This enables CPU exhaustion per request, causing denial‑of‑service for endpoints serving files (e.g., StaticFiles or any use of FileResponse). This vulnerability is fixed in 0.49.1.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2025-62727
Confirmed fixed CVEs
Not specified
Updated in this feed
3 Nov 2026, 08:26 UTC · Revision 1

Source evidence

Starlette vulnerable to O(n^2) DoS via Range header merging in starlette.responses.FileResponse

core-osv · Original source

Published 28 Oct 2025, 20:14 UTC

Starlette is a lightweight ASGI framework/toolkit. Starting in version 0.39.0 and prior to version 0.49.1 , an unauthenticated attacker can send a crafted HTTP Range header that triggers quadratic-time processing in Starlette's FileResponse Range parsing/merging logic. This enables CPU exhaustion per request, causing denial‑of‑service for endpoints serving files (e.g., StaticFiles or any use of FileResponse). This vulnerability is fixed in 0.49.1.

osv:CVE-2025-62727
Complete source record
{
  "id": "8acb229343fa3a4521a5e518eeab2a36cd51b4c4bcf5f3421bda0ba5a8cfbfa7",
  "url": "https://osv.dev/vulnerability/CVE-2025-62727",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Starlette vulnerable to O(n^2) DoS via Range header merging in starlette.responses.FileResponse",
    "summary": "Starlette is a lightweight ASGI framework/toolkit. Starting in version 0.39.0 and prior to version 0.49.1 , an unauthenticated attacker can send a crafted HTTP Range header that triggers quadratic-time processing in Starlette's FileResponse Range parsing/merging logic. This enables CPU exhaustion per request, causing denial‑of‑service for endpoints serving files (e.g., StaticFiles or any use of FileResponse). This vulnerability is fixed in 0.49.1.",
    "evidence": "osv:CVE-2025-62727",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2025-62727",
      "aliases": [
        "CVE-2025-62727",
        "GHSA-7f5h-v6xp-fcq8",
        "PYSEC-2026-1942"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/kludex/starlette",
              "type": "GIT",
              "events": [
                {
                  "introduced": "65bfd74307f593505aaa4c399f73e4d90cd8aa78"
                },
                {
                  "fixed": "7e4b7428f273dbdc875dcd036d20804bcfc7b2ee"
                },
                {
                  "fixed": "4ea6e22b489ec388d6004cfbca52dd5b147127c5"
                },
                {
                  "fixed": "69ed26a85956ef4bd0161807eb27abf49be7cd3c"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0.39.0"
                      },
                      {
                        "fixed": "0.49.1"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "fixed": "4ea6e22b489ec388d6004cfbca52dd5b147127c5"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "69ed26a85956ef4bd0161807eb27abf49be7cd3c"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "7e4b7428f273dbdc875dcd036d20804bcfc7b2ee"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "0.49.1"
                  }
                ]
              }
            }
          ],
          "versions": [
            "0.49.0",
            "0.48.0",
            "0.47.3",
            "0.47.2",
            "0.47.1",
            "0.47.0",
            "0.46.2",
            "0.46.1",
            "0.46.0",
            "0.45.3",
            "0.45.2",
            "0.45.1",
            "0.45.0",
            "0.44.0",
            "0.43.0",
            "0.42.0",
            "0.41.3",
            "0.41.2",
            "0.41.1",
            "0.41.0",
            "0.40.0",
            "0.39.2",
            "0.39.1",
            "0.39.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-62727.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:27.292299622Z",
      "provider": "osv",
      "references": [
        "https://github.com/Kludex/starlette/releases/tag/0.49.1",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/62xxx/CVE-2025-62727.json",
        "https://github.com/Kludex/starlette/security/advisories/GHSA-7f5h-v6xp-fcq8",
        "https://nvd.nist.gov/vuln/detail/CVE-2025-62727",
        "https://github.com/Kludex/starlette/commit/4ea6e22b489ec388d6004cfbca52dd5b147127c5",
        "https://github.com/Kludex/starlette/commit/69ed26a85956ef4bd0161807eb27abf49be7cd3c"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-407"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/62xxx/CVE-2025-62727.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2025-62727",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 493811,
  "published_at": "2025-10-28T20:14:53.655+00:00"
}