<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://cve.radiocsirt.org</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Sat, 03 Oct 2026 23:18:48 +0000</lastBuildDate>
    <item>
      <title>BREW-cycode-CVE-2025-62727 — Starlette vulnerable to O(n^2) DoS via Range header merging in ``starlette.responses.FileResponse``</title>
      <link>https://cve.radiocsirt.org/vuln/brew-cycode-cve-2025-62727</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Homebrew: cycode&lt;/p&gt;
&lt;p&gt;### Summary
An unauthenticated attacker can send a crafted HTTP Range header that triggers quadratic-time processing in Starlette&amp;#39;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`).&lt;/p&gt;
&lt;p&gt;### Details
Starlette parses multi-range requests in ``FileResponse._parse_range_header()``, then merges ranges using an O(n^2) algorithm.&lt;/p&gt;
&lt;p&gt;```python
# starlette/responses.py
_RANGE_PATTERN = re.compile(r&amp;#34;(\d*)-(\d*)&amp;#34;) # vulnerable to O(n^2) complexity ReDoS&lt;/p&gt;
&lt;p&gt;class FileResponse(Response):
    @staticmethod
    def _parse_range_header(http_range: str, file_size: int) -&amp;gt; list[tuple[int, int]]:
        ranges: list[tuple[int, int]] = []
        try:
            units, range_ = http_range.split(&amp;#34;=&amp;#34;, 1)
        except ValueError:
            raise MalformedRangeHeader()&lt;/p&gt;
&lt;p&gt;# [...]&lt;/p&gt;
&lt;p&gt;ranges = [
            (
                int(_[0]) if _[0] else file_size - int(_[1]),
                int(_[1]) + 1 if _[0] and _[1] and int(_[1]) &amp;lt; file_size else file_size,
            )
            for _ in _RANGE_PATTERN.findall(range_) # vulnerable
            if _ != (&amp;#34;&amp;#34;, &amp;#34;&amp;#34;)
        ]&lt;/p&gt;
&lt;p&gt;```&lt;/p&gt;
&lt;p&gt;The parsing loop of ``FileResponse._parse_range_header()`` uses the regular expression which vulnerable to denial of service for its O(n^2) complexity. A crafted `Range` header can maximize its complexity.&lt;/p&gt;
&lt;p&gt;The merge loop processes each input range by scanning the entire resul…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Homebrew: cycode&lt;/p&gt;
&lt;p&gt;### Summary
An unauthenticated attacker can send a crafted HTTP Range header that triggers quadratic-time processing in Starlette&amp;#39;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`).&lt;/p&gt;
&lt;p&gt;### Details
Starlette parses multi-range requests in ``FileResponse._parse_range_header()``, then merges ranges using an O(n^2) algorithm.&lt;/p&gt;
&lt;p&gt;```python
# starlette/responses.py
_RANGE_PATTERN = re.compile(r&amp;#34;(\d*)-(\d*)&amp;#34;) # vulnerable to O(n^2) complexity ReDoS&lt;/p&gt;
&lt;p&gt;class FileResponse(Response):
    @staticmethod
    def _parse_range_header(http_range: str, file_size: int) -&amp;gt; list[tuple[int, int]]:
        ranges: list[tuple[int, int]] = []
        try:
            units, range_ = http_range.split(&amp;#34;=&amp;#34;, 1)
        except ValueError:
            raise MalformedRangeHeader()&lt;/p&gt;
&lt;p&gt;# [...]&lt;/p&gt;
&lt;p&gt;ranges = [
            (
                int(_[0]) if _[0] else file_size - int(_[1]),
                int(_[1]) + 1 if _[0] and _[1] and int(_[1]) &amp;lt; file_size else file_size,
            )
            for _ in _RANGE_PATTERN.findall(range_) # vulnerable
            if _ != (&amp;#34;&amp;#34;, &amp;#34;&amp;#34;)
        ]&lt;/p&gt;
&lt;p&gt;```&lt;/p&gt;
&lt;p&gt;The parsing loop of ``FileResponse._parse_range_header()`` uses the regular expression which vulnerable to denial of service for its O(n^2) complexity. A crafted `Range` header can maximize its complexity.&lt;/p&gt;
&lt;p&gt;The merge loop processes each input range by scanning the entire resul…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/brew-cycode-cve-2025-62727</guid>
    </item>
    <item>
      <title>certfr-2025-avi-1138 — De multiples vulnérabilités ont été découvertes dans VMware Tanzu Platform. Elles permettent à un attaquant de provoque…</title>
      <link>https://cve.radiocsirt.org/vuln/certfr-2025-avi-1138</link>
      <description>certfr-2025-avi-1138</description>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/certfr-2025-avi-1138</guid>
    </item>
    <item>
      <title>Withdrawn: CLEANSTART-2026-AL63130 — Security fixes in litellm-database 1.96.0-r0</title>
      <link>https://cve.radiocsirt.org/vuln/cleanstart-2026-al63130</link>
      <description>&lt;p&gt;&lt;strong&gt;Withdrawn by the publisher.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; CleanStart: litellm-database&lt;/p&gt;
&lt;p&gt;Package litellm-database version 1.96.0-r0 fixes 5 vulnerabilities: CVE-2026-54282, CVE-2025-62727, CVE-2026-48818, CVE-2026-54283, CVE-2025-54121&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Withdrawn by the publisher.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; CleanStart: litellm-database&lt;/p&gt;
&lt;p&gt;Package litellm-database version 1.96.0-r0 fixes 5 vulnerabilities: CVE-2026-54282, CVE-2025-62727, CVE-2026-48818, CVE-2026-54283, CVE-2025-54121&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/cleanstart-2026-al63130</guid>
    </item>
    <item>
      <title>EUVD-2026-259072</title>
      <link>https://cve.radiocsirt.org/vuln/euvd-2026-259072</link>
      <description>EUVD-2026-259072</description>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/euvd-2026-259072</guid>
    </item>
    <item>
      <title>fkie_cve-2025-62727</title>
      <link>https://cve.radiocsirt.org/vuln/fkie_cve-2025-62727</link>
      <description>&lt;p&gt;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&amp;#39;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.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;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&amp;#39;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.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/fkie_cve-2025-62727</guid>
    </item>
    <item>
      <title>GHSA-7f5h-v6xp-fcq8 — Starlette vulnerable to O(n^2) DoS via Range header merging in ``starlette.responses.FileResponse``</title>
      <link>https://cve.radiocsirt.org/vuln/ghsa-7f5h-v6xp-fcq8</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: starlette&lt;/p&gt;
&lt;p&gt;### Summary
An unauthenticated attacker can send a crafted HTTP Range header that triggers quadratic-time processing in Starlette&amp;#39;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`).&lt;/p&gt;
&lt;p&gt;### Details
Starlette parses multi-range requests in ``FileResponse._parse_range_header()``, then merges ranges using an O(n^2) algorithm.&lt;/p&gt;
&lt;p&gt;```python
# starlette/responses.py
_RANGE_PATTERN = re.compile(r&amp;#34;(\d*)-(\d*)&amp;#34;) # vulnerable to O(n^2) complexity ReDoS&lt;/p&gt;
&lt;p&gt;class FileResponse(Response):
    @staticmethod
    def _parse_range_header(http_range: str, file_size: int) -&amp;gt; list[tuple[int, int]]:
        ranges: list[tuple[int, int]] = []
        try:
            units, range_ = http_range.split(&amp;#34;=&amp;#34;, 1)
        except ValueError:
            raise MalformedRangeHeader()&lt;/p&gt;
&lt;p&gt;# [...]&lt;/p&gt;
&lt;p&gt;ranges = [
            (
                int(_[0]) if _[0] else file_size - int(_[1]),
                int(_[1]) + 1 if _[0] and _[1] and int(_[1]) &amp;lt; file_size else file_size,
            )
            for _ in _RANGE_PATTERN.findall(range_) # vulnerable
            if _ != (&amp;#34;&amp;#34;, &amp;#34;&amp;#34;)
        ]&lt;/p&gt;
&lt;p&gt;```&lt;/p&gt;
&lt;p&gt;The parsing loop of ``FileResponse._parse_range_header()`` uses the regular expression which vulnerable to denial of service for its O(n^2) complexity. A crafted `Range` header can maximize its complexity.&lt;/p&gt;
&lt;p&gt;The merge loop processes each input range by scanning the entire resul…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: starlette&lt;/p&gt;
&lt;p&gt;### Summary
An unauthenticated attacker can send a crafted HTTP Range header that triggers quadratic-time processing in Starlette&amp;#39;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`).&lt;/p&gt;
&lt;p&gt;### Details
Starlette parses multi-range requests in ``FileResponse._parse_range_header()``, then merges ranges using an O(n^2) algorithm.&lt;/p&gt;
&lt;p&gt;```python
# starlette/responses.py
_RANGE_PATTERN = re.compile(r&amp;#34;(\d*)-(\d*)&amp;#34;) # vulnerable to O(n^2) complexity ReDoS&lt;/p&gt;
&lt;p&gt;class FileResponse(Response):
    @staticmethod
    def _parse_range_header(http_range: str, file_size: int) -&amp;gt; list[tuple[int, int]]:
        ranges: list[tuple[int, int]] = []
        try:
            units, range_ = http_range.split(&amp;#34;=&amp;#34;, 1)
        except ValueError:
            raise MalformedRangeHeader()&lt;/p&gt;
&lt;p&gt;# [...]&lt;/p&gt;
&lt;p&gt;ranges = [
            (
                int(_[0]) if _[0] else file_size - int(_[1]),
                int(_[1]) + 1 if _[0] and _[1] and int(_[1]) &amp;lt; file_size else file_size,
            )
            for _ in _RANGE_PATTERN.findall(range_) # vulnerable
            if _ != (&amp;#34;&amp;#34;, &amp;#34;&amp;#34;)
        ]&lt;/p&gt;
&lt;p&gt;```&lt;/p&gt;
&lt;p&gt;The parsing loop of ``FileResponse._parse_range_header()`` uses the regular expression which vulnerable to denial of service for its O(n^2) complexity. A crafted `Range` header can maximize its complexity.&lt;/p&gt;
&lt;p&gt;The merge loop processes each input range by scanning the entire resul…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/ghsa-7f5h-v6xp-fcq8</guid>
    </item>
    <item>
      <title>openSUSE-SU-2025:15696-1 — python311-starlette-0.49.1-1.1 on GA media</title>
      <link>https://cve.radiocsirt.org/vuln/opensuse-su-2025:15696-1</link>
      <description>&lt;p&gt;python311-starlette-0.49.1-1.1 on GA media&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;python311-starlette-0.49.1-1.1 on GA media&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/opensuse-su-2025:15696-1</guid>
    </item>
    <item>
      <title>PYSEC-2026-1942 — Starlette vulnerable to O(n^2) DoS via Range header merging in ``starlette.responses.FileResponse``</title>
      <link>https://cve.radiocsirt.org/vuln/pysec-2026-1942</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: starlette&lt;/p&gt;
&lt;p&gt;### Summary
An unauthenticated attacker can send a crafted HTTP Range header that triggers quadratic-time processing in Starlette&amp;#39;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`).&lt;/p&gt;
&lt;p&gt;### Details
Starlette parses multi-range requests in ``FileResponse._parse_range_header()``, then merges ranges using an O(n^2) algorithm.&lt;/p&gt;
&lt;p&gt;```python
# starlette/responses.py
_RANGE_PATTERN = re.compile(r&amp;#34;(\d*)-(\d*)&amp;#34;) # vulnerable to O(n^2) complexity ReDoS&lt;/p&gt;
&lt;p&gt;class FileResponse(Response):
    @staticmethod
    def _parse_range_header(http_range: str, file_size: int) -&amp;gt; list[tuple[int, int]]:
        ranges: list[tuple[int, int]] = []
        try:
            units, range_ = http_range.split(&amp;#34;=&amp;#34;, 1)
        except ValueError:
            raise MalformedRangeHeader()&lt;/p&gt;
&lt;p&gt;# [...]&lt;/p&gt;
&lt;p&gt;ranges = [
            (
                int(_[0]) if _[0] else file_size - int(_[1]),
                int(_[1]) + 1 if _[0] and _[1] and int(_[1]) &amp;lt; file_size else file_size,
            )
            for _ in _RANGE_PATTERN.findall(range_) # vulnerable
            if _ != (&amp;#34;&amp;#34;, &amp;#34;&amp;#34;)
        ]&lt;/p&gt;
&lt;p&gt;```&lt;/p&gt;
&lt;p&gt;The parsing loop of ``FileResponse._parse_range_header()`` uses the regular expression which vulnerable to denial of service for its O(n^2) complexity. A crafted `Range` header can maximize its complexity.&lt;/p&gt;
&lt;p&gt;The merge loop processes each input range by scanning the entire resul…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: starlette&lt;/p&gt;
&lt;p&gt;### Summary
An unauthenticated attacker can send a crafted HTTP Range header that triggers quadratic-time processing in Starlette&amp;#39;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`).&lt;/p&gt;
&lt;p&gt;### Details
Starlette parses multi-range requests in ``FileResponse._parse_range_header()``, then merges ranges using an O(n^2) algorithm.&lt;/p&gt;
&lt;p&gt;```python
# starlette/responses.py
_RANGE_PATTERN = re.compile(r&amp;#34;(\d*)-(\d*)&amp;#34;) # vulnerable to O(n^2) complexity ReDoS&lt;/p&gt;
&lt;p&gt;class FileResponse(Response):
    @staticmethod
    def _parse_range_header(http_range: str, file_size: int) -&amp;gt; list[tuple[int, int]]:
        ranges: list[tuple[int, int]] = []
        try:
            units, range_ = http_range.split(&amp;#34;=&amp;#34;, 1)
        except ValueError:
            raise MalformedRangeHeader()&lt;/p&gt;
&lt;p&gt;# [...]&lt;/p&gt;
&lt;p&gt;ranges = [
            (
                int(_[0]) if _[0] else file_size - int(_[1]),
                int(_[1]) + 1 if _[0] and _[1] and int(_[1]) &amp;lt; file_size else file_size,
            )
            for _ in _RANGE_PATTERN.findall(range_) # vulnerable
            if _ != (&amp;#34;&amp;#34;, &amp;#34;&amp;#34;)
        ]&lt;/p&gt;
&lt;p&gt;```&lt;/p&gt;
&lt;p&gt;The parsing loop of ``FileResponse._parse_range_header()`` uses the regular expression which vulnerable to denial of service for its O(n^2) complexity. A crafted `Range` header can maximize its complexity.&lt;/p&gt;
&lt;p&gt;The merge loop processes each input range by scanning the entire resul…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/pysec-2026-1942</guid>
    </item>
    <item>
      <title>RHSA-2025:22759 — Red Hat Security Advisory: RHOAI 2.22.3 - Red Hat OpenShift AI</title>
      <link>https://cve.radiocsirt.org/vuln/rhsa-2025:22759</link>
      <description>&lt;p&gt;keras: Arbitary Code execution in Keras load_model() keras: Keras Path Traversal Vulnerability database/sql: Postgres Scan Race Condition aiohttp: AIOHTTP HTTP Request/Response Smuggling golang: archive/tar: Unbounded allocation when parsing GNU sparse map axios: Axios DoS via lack of data size check github.com/argoproj/argo-workflows: Argo Workflows Zip Slip starlette: Starlette DoS via Range header merging&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;keras: Arbitary Code execution in Keras load_model() keras: Keras Path Traversal Vulnerability database/sql: Postgres Scan Race Condition aiohttp: AIOHTTP HTTP Request/Response Smuggling golang: archive/tar: Unbounded allocation when parsing GNU sparse map axios: Axios DoS via lack of data size check github.com/argoproj/argo-workflows: Argo Workflows Zip Slip starlette: Starlette DoS via Range header merging&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/rhsa-2025:22759</guid>
    </item>
    <item>
      <title>SUSE-SU-2026:22151-1 — Security update for python-starlette</title>
      <link>https://cve.radiocsirt.org/vuln/suse-su-2026:22151-1</link>
      <description>&lt;p&gt;Security update for python-starlette&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;Security update for python-starlette&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/suse-su-2026:22151-1</guid>
    </item>
    <item>
      <title>UBUNTU-CVE-2025-62727</title>
      <link>https://cve.radiocsirt.org/vuln/ubuntu-cve-2025-62727</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Ubuntu:22.04:LTS: starlette, Ubuntu:24.04:LTS: starlette, Ubuntu:25.10: starlette, Ubuntu:26.04:LTS: starlette&lt;/p&gt;
&lt;p&gt;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&amp;#39;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.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Ubuntu:22.04:LTS: starlette, Ubuntu:24.04:LTS: starlette, Ubuntu:25.10: starlette, Ubuntu:26.04:LTS: starlette&lt;/p&gt;
&lt;p&gt;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&amp;#39;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.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/ubuntu-cve-2025-62727</guid>
    </item>
  </channel>
</rss>
