CVE-2026-54591
Deferred Deferred - Pending Action

Path Traversal in AsyncSSH SCP Client

Vulnerability report for CVE-2026-54591, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-07-08

Last updated on: 2026-07-09

Assigner: GitHub, Inc.

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.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-07-08
Last Modified
2026-07-09
Generated
2026-07-11
AI Q&A
2026-07-09
EPSS Evaluated
2026-07-09
NVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
asyncssh asyncssh 2.23.1

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-22 The product uses external input to construct a pathname that is intended to identify a file or directory that is located underneath a restricted parent directory, but the product does not properly neutralize special elements within the pathname that can cause the pathname to resolve to a location that is outside of the restricted directory.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability exists in the AsyncSSH Python package, which implements the SSHv2 protocol asynchronously. Before version 2.23.1, a malicious SSH server could exploit the SCP client by sending filenames containing directory traversal sequences (../). The client’s _parse_cd_args function returns these server-provided filenames without validation, and _recv_files joins them to the destination path without enforcing directory boundaries. This allows the server to write arbitrary files anywhere on the client’s filesystem.

Impact Analysis

This vulnerability can have serious impacts because it allows a malicious SSH server to write arbitrary files on the client’s filesystem. This can lead to unauthorized modification or creation of files, potentially resulting in data corruption, system compromise, or execution of malicious code. The CVSS score of 8.1 indicates a high severity with impacts on integrity and availability.

Mitigation Strategies

To mitigate this vulnerability, upgrade AsyncSSH to version 2.23.1 or later, where the issue has been fixed.

Compliance Impact

The vulnerability allows a malicious SSH server to write arbitrary files on the asyncssh SCP client's filesystem by exploiting path traversal sequences. This can lead to overwriting sensitive files such as ~/.bashrc, ~/.profile, ~/.ssh/rc, or ~/.ssh/authorized_keys, potentially enabling remote code execution.

Such unauthorized file writes and potential remote code execution can compromise the confidentiality and integrity of data on the affected systems, which may violate data protection requirements under standards like GDPR and HIPAA.

Specifically, the ability to overwrite sensitive configuration or authorization files could lead to unauthorized access or data breaches, impacting compliance with regulations that mandate strict controls over personal and sensitive information.

Therefore, this vulnerability poses a significant risk to compliance with common security standards and regulations by undermining system security and data protection controls.

Detection Guidance

This vulnerability involves a malicious SSH server sending specially crafted filenames containing directory traversal sequences (../) during SCP file transfers to write arbitrary files on the client's filesystem.

To detect exploitation attempts on your system or network, you can monitor SCP client logs or network traffic for SCP file transfer requests containing suspicious filenames with ../ sequences.

Since the vulnerability is in the asyncssh SCP client prior to version 2.23.1, checking the version of asyncssh installed on your system is a primary step.

  • Check asyncssh version: `python -c "import asyncssh; print(asyncssh.__version__)"`
  • Monitor SCP traffic for filenames containing '../' sequences using network packet capture tools like tcpdump or Wireshark, for example: `tcpdump -A -s 0 port 22` and filter for SCP file transfer commands.
  • Inspect SCP client logs for any errors or unusual file paths that include directory traversal patterns.

Note that no specific detection commands or signatures are provided in the available resources, so detection relies on version checking and monitoring for suspicious SCP file transfer behavior.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-54591. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart