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.24.1, recursive remote-to-local SFTP copies in SFTPClient._copy() in asyncssh/sftp.py, reached through get(), mget(), and copy(), trust filenames returned by a remote server's directory enumeration. A malicious or compromised SFTP server can return an absolute filename or a filename containing path separators and parent-directory traversal, causing destination path construction to escape the requested local directory and write attacker-selected content to locations writable by the client process. This issue is fixed in version 2.24.1.
Published: 2026-11-09
Score: 6.5 Medium
EPSS: n/a
KEV: No
Impact: Attacker-controlled SFTP servers can cause the client to write arbitrary files to locations writable by the client process, enabling potential remote code execution.
Action: Apply Patch
AI Analysis

Impact

AsyncSSH's SFTP client trusted filenames returned by a remote SFTP server during recursive copy operations. Because these filenames were not sanitized, a malicious server could supply absolute paths or paths containing traversal components, causing the client to construct local file paths that escape the intended target directory. The resulting file writes occur to arbitrary locations on the client machine that are writable by the user running the process. This path‑traversal flaw is recognized as CWE‑22 and could expose the client to arbitrary file write and execution vulnerabilities.

Affected Systems

The vulnerability affects the AsyncSSH Python library produced by ronf. Versions prior to 2.24.1 of asyncssh are impacted. Upgrade to version 2.24.1 or later to remove the flaw.

Risk and Exploitability

The CVSS score of 6.5 indicates a medium severity. Exploitation would require an attacker to control or compromise an SFTP server that the client connects to; no local privilege or execution is needed on the client side. EPSS data is unavailable, and the vulnerability is not listed in the CISA KEV catalog. The flaw can be exploited over the network by sending crafted directory listings, making this a remotely exploitable vector for adversaries who can host or influence the SFTP server.

Generated by OpenCVE AI on November 9, 2026 at 23:30 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade asyncssh to version 2.24.1 or later.
  • If upgrading is not immediately possible, run the client under reduced privileges or in a chrooted environment that limits writable paths.
  • Configure the client or environment to reject or validate file paths returned by the server before performing local writes.

Generated by OpenCVE AI on November 9, 2026 at 23:30 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 09 Nov 2026 23:45:00 +0000

Type Values Removed Values Added
First Time appeared Ronf
Ronf asyncssh
Vendors & Products Ronf
Ronf asyncssh

Mon, 09 Nov 2026 22:00:00 +0000

Type Values Removed Values Added
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.24.1, recursive remote-to-local SFTP copies in SFTPClient._copy() in asyncssh/sftp.py, reached through get(), mget(), and copy(), trust filenames returned by a remote server's directory enumeration. A malicious or compromised SFTP server can return an absolute filename or a filename containing path separators and parent-directory traversal, causing destination path construction to escape the requested local directory and write attacker-selected content to locations writable by the client process. This issue is fixed in version 2.24.1.
Title AsyncSSH: SFTP Recursive Copy Path Traversal via Unsanitized Server-Supplied Filenames
Weaknesses CWE-22
References
Metrics cvssV3_1

{'score': 6.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-11-09T21:51:51.146Z

Reserved: 2026-08-20T20:07:49.963Z

Link: CVE-2026-77473

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-11-09T22:18:54.713

Modified: 2026-11-09T22:18:54.713

Link: CVE-2026-77473

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-11-09T23:30:18Z

Weaknesses
  • CWE-22

    Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')