<?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>Wed, 07 Oct 2026 07:07:47 +0000</lastBuildDate>
    <item>
      <title>EUVD-2026-322091</title>
      <link>https://cve.radiocsirt.org/vuln/euvd-2026-322091</link>
      <description>EUVD-2026-322091</description>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/euvd-2026-322091</guid>
    </item>
    <item>
      <title>fkie_cve-2026-47066</title>
      <link>https://cve.radiocsirt.org/vuln/fkie_cve-2026-47066</link>
      <description>&lt;p&gt;Loop with Unreachable Exit Condition (&amp;#39;Infinite Loop&amp;#39;) vulnerability in benoitc hackney allows Excessive Allocation. The Alt-Svc response header parser in src/hackney_altsvc.erl does not guarantee forward progress. When parse_token/2 receives a non-token, non-whitespace, non-comma byte (e.g. !, @, =, ;), it returns the input unchanged. skip_comma/1 also returns the buffer unchanged when the first byte is not a comma. parse_entries/2 then recurses with identical data, creating a tight infinite tail-recursive loop that pins a scheduler at 100% CPU. The calling process never returns.&lt;/p&gt;
&lt;p&gt;The entry point parse_and_cache/3 is called synchronously in the connection process on every HTTP response. A single-byte Alt-Svc: ! response header is sufficient to trigger the hang; the header is fully controlled by any HTTP origin the client connects to.&lt;/p&gt;
&lt;p&gt;This issue affects hackney: from 2.0.0-beta.1 before 4.0.1.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;Loop with Unreachable Exit Condition (&amp;#39;Infinite Loop&amp;#39;) vulnerability in benoitc hackney allows Excessive Allocation. The Alt-Svc response header parser in src/hackney_altsvc.erl does not guarantee forward progress. When parse_token/2 receives a non-token, non-whitespace, non-comma byte (e.g. !, @, =, ;), it returns the input unchanged. skip_comma/1 also returns the buffer unchanged when the first byte is not a comma. parse_entries/2 then recurses with identical data, creating a tight infinite tail-recursive loop that pins a scheduler at 100% CPU. The calling process never returns.&lt;/p&gt;
&lt;p&gt;The entry point parse_and_cache/3 is called synchronously in the connection process on every HTTP response. A single-byte Alt-Svc: ! response header is sufficient to trigger the hang; the header is fully controlled by any HTTP origin the client connects to.&lt;/p&gt;
&lt;p&gt;This issue affects hackney: from 2.0.0-beta.1 before 4.0.1.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/fkie_cve-2026-47066</guid>
    </item>
    <item>
      <title>GHSA-6cp8-v795-jr2j — Hackney has an infinite loop on non-token byte at start of an Alt-Svc entry</title>
      <link>https://cve.radiocsirt.org/vuln/ghsa-6cp8-v795-jr2j</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Hex: hackney&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;[CVE-2026-47066](https://nvd.nist.gov/vuln/detail/CVE-2026-47066) is an infinite loop (CWE-835) in hackney&amp;#39;s Alt-Svc response header parser (`src/hackney_altsvc.erl`). When an HTTP server returns an `Alt-Svc` header whose value begins with a non-token byte (e.g. `!`, `@`, `=`, `;`), the parser enters a tight tail-recursive loop that pins an Erlang scheduler at 100% CPU and permanently hangs the calling connection process. Because the parser is invoked synchronously on every HTTP response, any attacker-controlled origin can trigger the hang with a single-byte header value.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;**1. Parser dispatch**&lt;/p&gt;
&lt;p&gt;`parse_and_cache/3` is called inside the hackney connection process on each HTTP response. It collects all `Alt-Svc` header values via `collect_altsvc_headers/1`, concatenates them, and passes the result to `parse/1`, which calls `parse_entries(Header, [])`.&lt;/p&gt;
&lt;p&gt;**2. Failed token consumption**&lt;/p&gt;
&lt;p&gt;`parse_entries/2` → `parse_entry/1` → `parse_protocol/1` → `parse_token(Data, &amp;lt;&amp;lt;&amp;gt;&amp;gt;)`. The function `parse_token/2` pattern-matches leading bytes: alphanumeric, `-`, `_`, whitespace, and comma all have explicit clauses. Any other byte (e.g. `!`) falls through to the catch-all:&lt;/p&gt;
&lt;p&gt;```erlang
parse_token(Rest, &amp;lt;&amp;lt;&amp;gt;&amp;gt;) -&amp;gt; {undefined, Rest}.
```&lt;/p&gt;
&lt;p&gt;This returns the *input unchanged* — no byte is consumed.&lt;/p&gt;
&lt;p&gt;**3. No-progress loop**&lt;/p&gt;
&lt;p&gt;`parse_entry` propagates `{undefined, Rest}` back to `parse_entries/2`, which calls `skip_comma(Rest)`. Because the first byte is not `,`, `skip_comma` a…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Hex: hackney&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;[CVE-2026-47066](https://nvd.nist.gov/vuln/detail/CVE-2026-47066) is an infinite loop (CWE-835) in hackney&amp;#39;s Alt-Svc response header parser (`src/hackney_altsvc.erl`). When an HTTP server returns an `Alt-Svc` header whose value begins with a non-token byte (e.g. `!`, `@`, `=`, `;`), the parser enters a tight tail-recursive loop that pins an Erlang scheduler at 100% CPU and permanently hangs the calling connection process. Because the parser is invoked synchronously on every HTTP response, any attacker-controlled origin can trigger the hang with a single-byte header value.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;**1. Parser dispatch**&lt;/p&gt;
&lt;p&gt;`parse_and_cache/3` is called inside the hackney connection process on each HTTP response. It collects all `Alt-Svc` header values via `collect_altsvc_headers/1`, concatenates them, and passes the result to `parse/1`, which calls `parse_entries(Header, [])`.&lt;/p&gt;
&lt;p&gt;**2. Failed token consumption**&lt;/p&gt;
&lt;p&gt;`parse_entries/2` → `parse_entry/1` → `parse_protocol/1` → `parse_token(Data, &amp;lt;&amp;lt;&amp;gt;&amp;gt;)`. The function `parse_token/2` pattern-matches leading bytes: alphanumeric, `-`, `_`, whitespace, and comma all have explicit clauses. Any other byte (e.g. `!`) falls through to the catch-all:&lt;/p&gt;
&lt;p&gt;```erlang
parse_token(Rest, &amp;lt;&amp;lt;&amp;gt;&amp;gt;) -&amp;gt; {undefined, Rest}.
```&lt;/p&gt;
&lt;p&gt;This returns the *input unchanged* — no byte is consumed.&lt;/p&gt;
&lt;p&gt;**3. No-progress loop**&lt;/p&gt;
&lt;p&gt;`parse_entry` propagates `{undefined, Rest}` back to `parse_entries/2`, which calls `skip_comma(Rest)`. Because the first byte is not `,`, `skip_comma` a…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/ghsa-6cp8-v795-jr2j</guid>
    </item>
  </channel>
</rss>
