<?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://db.gcve.eu</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>Sun, 08 Nov 2026 20:46:10 +0000</lastBuildDate>
    <item>
      <title>GHSA-w44r-93j7-qv28 — rustls: An unauthenticated ServerHello poisons the per-name key-exchange record, so later ClientHellos carry only a cla…</title>
      <link>https://db.gcve.eu/vuln/ghsa-w44r-93j7-qv28</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; crates.io: rustls&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;The client records the server-selected key-exchange group per server name when it processes the ServerHello, before the server is authenticated. A network attacker can answer one connection attempt for a target name with a ServerHello that selects X25519 and close the connection. Later ClientHellos for that name carry one X25519 share while supported_groups still lists X25519MLKEM768 first. If the server accepts that share instead of sending a HelloRetryRequest, the handshake completes with classical key exchange only and no error.&lt;/p&gt;
&lt;p&gt;An attacker that answers one connection attempt for the target name with a ServerHello selecting X25519 changes every later ClientHello of that client for that name, for as long as the entry stays in the store. No certificate or completed handshake is needed: it parses the ClientHello, sends the ServerHello, and closes.&lt;/p&gt;
&lt;p&gt;TLS 1.3 transcript binding stops an on-path attacker from editing the ClientHello of one connection. It does not stop the attacker from steering the client&amp;#39;s prediction state beforehand, because that state is written from an unauthenticated message.&lt;/p&gt;
&lt;p&gt;## What does not trigger it&lt;/p&gt;
&lt;p&gt;- Servers that send a HelloRetryRequest. The connection stays hybrid and costs one extra round trip.
- A client configuration with resumption disabled: nothing is stored.
- A different server name: the record is per name.&lt;/p&gt;
&lt;p&gt;## Impact&lt;/p&gt;
&lt;p&gt;If the genuine server picks the group for which a share is present, instead of sending a HelloRetryRequest for…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; crates.io: rustls&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;The client records the server-selected key-exchange group per server name when it processes the ServerHello, before the server is authenticated. A network attacker can answer one connection attempt for a target name with a ServerHello that selects X25519 and close the connection. Later ClientHellos for that name carry one X25519 share while supported_groups still lists X25519MLKEM768 first. If the server accepts that share instead of sending a HelloRetryRequest, the handshake completes with classical key exchange only and no error.&lt;/p&gt;
&lt;p&gt;An attacker that answers one connection attempt for the target name with a ServerHello selecting X25519 changes every later ClientHello of that client for that name, for as long as the entry stays in the store. No certificate or completed handshake is needed: it parses the ClientHello, sends the ServerHello, and closes.&lt;/p&gt;
&lt;p&gt;TLS 1.3 transcript binding stops an on-path attacker from editing the ClientHello of one connection. It does not stop the attacker from steering the client&amp;#39;s prediction state beforehand, because that state is written from an unauthenticated message.&lt;/p&gt;
&lt;p&gt;## What does not trigger it&lt;/p&gt;
&lt;p&gt;- Servers that send a HelloRetryRequest. The connection stays hybrid and costs one extra round trip.
- A client configuration with resumption disabled: nothing is stored.
- A different server name: the record is per name.&lt;/p&gt;
&lt;p&gt;## Impact&lt;/p&gt;
&lt;p&gt;If the genuine server picks the group for which a share is present, instead of sending a HelloRetryRequest for…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/ghsa-w44r-93j7-qv28</guid>
    </item>
  </channel>
</rss>
