CVE-2026-45309

NameCVE-2026-45309
DescriptionAsyncSSH is a Python package which provides an asynchronous client and server implementation of the SSHv2 protocol on top of the Python asyncio framework. Prior to 2.23.0, AsyncSSH expands the OpenSSH-compatible AuthorizedKeysFile %u token in asyncssh/config.py, asyncssh/connection.py, asyncssh/auth_keys.py, and asyncssh/misc.py with the raw SSH username during pre-authentication server config reload, allowing a server configured with AuthorizedKeysFile authorized_keys/%u to read an authorized-keys file outside the intended directory when the SSH username contains /, \, or .. path traversal segments and authenticate with an attacker-selected key file. This issue is fixed in version 2.23.0.
SourceCVE (at NVD; CERT, ENISA, LWN, oss-sec, fulldisc, Debian ELTS, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more)

Vulnerable and fixed packages

The table below lists information on source packages.

Source PackageReleaseVersionStatus
python-asyncssh (PTS)bullseye2.5.0-0.1vulnerable
bullseye (security)2.5.0-0.1+deb11u1vulnerable
bookworm2.10.1-2+deb12u2vulnerable
bookworm (security)2.10.1-2+deb12u1vulnerable
trixie2.20.0-1vulnerable
forky, sid2.23.0-1fixed

The information below is based on the following data on fixed versions.

PackageTypeReleaseFixed VersionUrgencyOriginDebian Bugs
python-asyncsshsource(unstable)2.23.0-1

Notes

https://github.com/advisories/GHSA-g794-3fmp-753h
Fixed by: https://github.com/ronf/asyncssh/commit/2af2382cce946c959a378a62f257af253dc4ab51 (v2.23.0)
When fixing this issue for older versions make sure to fix the issue and not
introducing CVE-2026-54590.

Search for package or bug name: Reporting problems