CVE-2026-54591 AsyncSSH: SCP Path Traversal to Arbitrary File Write

High 8.1 Published Updated

A malicious SSH server can write arbitrary files on the AsyncSSH SCP client's filesystem via path traversal sequences in filenames.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
A user has to click or open something
Fix
Available

What is CVE-2026-54591?

CVE-2026-54591 is a high-severity path traversal vulnerability in ronf asyncssh, published on 8 Jul 2026. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.

Official description

AsyncSSH 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.1, a malicious SSH server can write arbitrary files on the asyncssh SCP client's filesystem by sending filenames containing ../ traversal sequences because _parse_cd_args in scp.py returns server-provided names verbatim and _recv_files joins them to the destination path without enforcing the target directory boundary. This issue is fixed in version 2.23.1.

Weakness: CWE-22

Which versions are affected by CVE-2026-54591?

3 open source packages ship an affected version, including asyncssh.

PackageAffectedFixed in
asyncssh PyPIAll versions2.23.1
asyncssh PyPIAll versions2.23.1
asyncssh PyPIAll versions2.23.1

How do I fix CVE-2026-54591?

Upgrade asyncssh to 2.23.1 or later.

Upgrade, and resolve every user-supplied path against an allowed base folder before opening it. More about Path traversal.

Is CVE-2026-54591 being exploited?

There is no known exploitation of CVE-2026-54591 in the wild and no public exploit code.

Sources

Also known as CLEANSTART-2026-ZT97378, DEBIAN-CVE-2026-54591, ECHO-ba32-5913-3705, GHSA-2wxc-x7rj-hg8f, MINI-9vjw-g347-8jfv, MINI-fv46-g3fx-9q59 and 3 more.

Is CVE-2026-54591 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free