<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://cve.radiocsirt.org/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-03T19:45:18.580287+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>csirt@opendfir.org</email>
  </author>
  <link href="https://cve.radiocsirt.org" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Contains only the most 10 recent entries.</subtitle>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/brew-dvc-cve-2026-54590</id>
    <title>BREW-dvc-CVE-2026-54590 — asyncssh has an incomplete fix for CVE-2026-45309 — AuthorizedKeysFile %u still escapes the intended directory via a le…</title>
    <updated>2026-10-03T19:45:18.797278+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> Homebrew: dvc</p>
<p>**Incomplete fix for CVE-2026-45309 (GHSA-g794-3fmp-753h).** The
  2.23.0 guard that sanitises the SSH username before `%u` substitution
  in `AuthorizedKeysFile` blocks `/`, `\` and `..`, but does not block a
  leading `~` (or `${ENV}`), both of which are re-introduced by later
  expansion and reach the file open — defeating the guard.</p>
<p>**Affected:** asyncssh 2.23.0 and current `develop` (commit `a60f863`,
  HEAD on 2026-05-29).</p>
<p>## Summary
  The fix for CVE-2026-45309 added a guard in
  `SSHServerConfig._set_tokens` (`asyncssh/config.py:715-716`) that
  rejects an SSH username containing `/`, `\`, or equal to `..`, before
  it is substituted for the `%u` token in `AuthorizedKeysFile`:</p>
<p>if self._user == '..' or '/' in self._user or '\\' in self._user:
          raise IllegalUserName('Unsafe username substitution')</p>
<p>However, the `%u`-substituted value is subsequently passed through
  environment-variable expansion (`_expand_val`, `config.py:145-149` —
  token expansion then env expansion) and, at file-open time, through
  `expanduser()` (`read_authorized_keys` → `read_file` →
  `open(Path(filename).expanduser())`, `auth_keys.py:348` →
  `misc.py:290`). Both re-introduce the path control the guard was meant
  to remove, so a username that contains no `/`/`\` can still cause the
  server to read an authorized-keys file outside the intended per-user
  directory.</p>
<p>The client-supplied username reaches this path pre-authentication:
  `_process_userauth_request` takes…</p></div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/brew-dvc-cve-2026-54590"/>
  </entry>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/cleanstart-2026-bc02149</id>
    <title>Withdrawn: CLEANSTART-2026-BC02149 — Security fixes in airflow-3 3.1.8-r6</title>
    <updated>2026-10-03T19:45:18.797419+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Withdrawn by the publisher.</strong></p>
<p><strong>Affected:</strong> CleanStart: airflow-3</p>
<p>Package airflow-3 version 3.1.8-r6 fixes 13 vulnerabilities: CVE-2026-53533, CVE-2026-59885, CVE-2026-59886, CVE-2026-59890, CVE-2026-49476...</p></div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/cleanstart-2026-bc02149"/>
  </entry>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/euvd-2026-335643</id>
    <title>EUVD-2026-335643</title>
    <updated>2026-10-03T19:45:18.797445+00:00</updated>
    <content>EUVD-2026-335643</content>
    <link href="https://cve.radiocsirt.org/vuln/euvd-2026-335643"/>
  </entry>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/fkie_cve-2026-54590</id>
    <title>fkie_cve-2026-54590</title>
    <updated>2026-10-03T19:45:18.797460+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>AsyncSSH is a Python package which provides an asynchronous client and server implementation of the SSHv2 protocol on top of the Python asyncio framework. Version 2.23.0 contains an incomplete fix for CVE-2026-45309 in SSHServerConfig._set_tokens that blocks /, , and .. before %u substitution in AuthorizedKeysFile but does not block a leading ~ or ${ENV}, allowing later expansion in _expand_val and Path(filename).expanduser() to escape the intended authorized-keys directory. This issue is fixed in version 2.23.1.</p>
      </div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/fkie_cve-2026-54590"/>
  </entry>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/ghsa-qr67-gv47-xwwh</id>
    <title>GHSA-qr67-gv47-xwwh — asyncssh has an incomplete fix for CVE-2026-45309 — AuthorizedKeysFile %u still escapes the intended directory via a le…</title>
    <updated>2026-10-03T19:45:18.797486+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> PyPI: asyncssh</p>
<p>**Incomplete fix for CVE-2026-45309 (GHSA-g794-3fmp-753h).** The
  2.23.0 guard that sanitises the SSH username before `%u` substitution
  in `AuthorizedKeysFile` blocks `/`, `\` and `..`, but does not block a
  leading `~` (or `${ENV}`), both of which are re-introduced by later
  expansion and reach the file open — defeating the guard.</p>
<p>**Affected:** asyncssh 2.23.0 and current `develop` (commit `a60f863`,
  HEAD on 2026-05-29).</p>
<p>## Summary
  The fix for CVE-2026-45309 added a guard in
  `SSHServerConfig._set_tokens` (`asyncssh/config.py:715-716`) that
  rejects an SSH username containing `/`, `\`, or equal to `..`, before
  it is substituted for the `%u` token in `AuthorizedKeysFile`:</p>
<p>if self._user == '..' or '/' in self._user or '\\' in self._user:
          raise IllegalUserName('Unsafe username substitution')</p>
<p>However, the `%u`-substituted value is subsequently passed through
  environment-variable expansion (`_expand_val`, `config.py:145-149` —
  token expansion then env expansion) and, at file-open time, through
  `expanduser()` (`read_authorized_keys` → `read_file` →
  `open(Path(filename).expanduser())`, `auth_keys.py:348` →
  `misc.py:290`). Both re-introduce the path control the guard was meant
  to remove, so a username that contains no `/`/`\` can still cause the
  server to read an authorized-keys file outside the intended per-user
  directory.</p>
<p>The client-supplied username reaches this path pre-authentication:
  `_process_userauth_request` takes…</p></div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/ghsa-qr67-gv47-xwwh"/>
  </entry>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/pysec-2026-3809</id>
    <title>PYSEC-2026-3809 — asyncssh has an incomplete fix for CVE-2026-45309 — AuthorizedKeysFile %u still escapes the intended directory via a le…</title>
    <updated>2026-10-03T19:45:18.797590+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> PyPI: asyncssh</p>
<p>**Incomplete fix for CVE-2026-45309 (GHSA-g794-3fmp-753h).** The
  2.23.0 guard that sanitises the SSH username before `%u` substitution
  in `AuthorizedKeysFile` blocks `/`, `\` and `..`, but does not block a
  leading `~` (or `${ENV}`), both of which are re-introduced by later
  expansion and reach the file open — defeating the guard.</p>
<p>**Affected:** asyncssh 2.23.0 and current `develop` (commit `a60f863`,
  HEAD on 2026-05-29).</p>
<p>## Summary
  The fix for CVE-2026-45309 added a guard in
  `SSHServerConfig._set_tokens` (`asyncssh/config.py:715-716`) that
  rejects an SSH username containing `/`, `\`, or equal to `..`, before
  it is substituted for the `%u` token in `AuthorizedKeysFile`:</p>
<p>if self._user == '..' or '/' in self._user or '\\' in self._user:
          raise IllegalUserName('Unsafe username substitution')</p>
<p>However, the `%u`-substituted value is subsequently passed through
  environment-variable expansion (`_expand_val`, `config.py:145-149` —
  token expansion then env expansion) and, at file-open time, through
  `expanduser()` (`read_authorized_keys` → `read_file` →
  `open(Path(filename).expanduser())`, `auth_keys.py:348` →
  `misc.py:290`). Both re-introduce the path control the guard was meant
  to remove, so a username that contains no `/`/`\` can still cause the
  server to read an authorized-keys file outside the intended per-user
  directory.</p>
<p>The client-supplied username reaches this path pre-authentication:
  `_process_userauth_request` takes…</p></div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/pysec-2026-3809"/>
  </entry>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/ubuntu-cve-2026-54590</id>
    <title>UBUNTU-CVE-2026-54590</title>
    <updated>2026-10-03T19:45:18.797682+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> Ubuntu:16.04:LTS: python-asyncssh, Ubuntu:Pro:18.04:LTS: python-asyncssh, Ubuntu:20.04:LTS: python-asyncssh, Ubuntu:Pro:22.04:LTS: python-asyncssh, Ubuntu:Pro:24.04:LTS: python-asyncssh, Ubuntu:25.10: python-asyncssh, Ubuntu:26.04:LTS: python-asyncssh</p>
<p>AsyncSSH is a Python package which provides an asynchronous client and server implementation of the SSHv2 protocol on top of the Python asyncio framework. Version 2.23.0 contains an incomplete fix for CVE-2026-45309 in SSHServerConfig._set_tokens that blocks /, , and .. before %u substitution in AuthorizedKeysFile but does not block a leading ~ or ${ENV}, allowing later expansion in _expand_val and Path(filename).expanduser() to escape the intended authorized-keys directory. This issue is fixed in version 2.23.1.</p></div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/ubuntu-cve-2026-54590"/>
  </entry>
</feed>
