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, SFTPServer.map_path() uses posixpath.normpath() on a client-supplied path and removes only one leading slash before passing the result to posixpath.join() with the configured chroot. An authenticated SFTP user can supply a path beginning with exactly two slash characters, causing POSIX normalization to preserve the double-leading-slash form and the subsequent join to treat the remaining pathname as absolute. This bypasses the SFTP chroot and permits reads and writes with the operating-system permissions of the account running the server, which may enable code execution depending on writable targets. This issue is fixed in version 2.24.1.
Published: 2026-11-09
Score: 8.8 High
EPSS: n/a
KEV: No
Impact: Chroot Bypass and File Access
Action: Apply Patch
AI Analysis

Impact

SFTPServer.map_path() removes a single leading slash from a client‑supplied path, then normalises the path and joins it with the server’s chroot directory. If the user supplies a path that begins with exactly two slashes, normalisation preserves the double‑leading‑slash pattern, and the later join treats the remaining pathname as absolute, bypassing the chroot. This allows an authenticated SFTP user to read or write files anywhere on the host filesystem with the permissions of the server process, which may enable arbitrary code execution when writable targets are reachable.

Affected Systems

The vulnerability affects the AsyncSSH Python library provided by ronf, specifically any installation using Version 2.24.0 or earlier. The issue was resolved in release 2.24.1.

Risk and Exploitability

The CVSS score of 8.8 classifies this flaw as a high‑severity problem. EPSS data is not available, and the vulnerability is not listed in the CISA KEV catalog. The likely attack vector involves an authenticated SFTP client; once authenticated, an attacker can supply a specially crafted path to escape the intended chroot and access arbitrary files. Because the exploit requires a valid SFTP session, the immediate risk is high for servers that expose SFTP to untrusted users or run with elevated privileges. Proper remediation is therefore urgent.

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

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the AsyncSSH library to version 2.24.1 or later.
  • Configure the server to run with the minimal set of permissions required for operation, ideally dropping root privileges after the SSH daemon starts.
  • Validate or sanitize the "chroot" configuration to prevent double‑leading‑slash paths, and consider restricting SFTP access to a dedicated user account with limited file permissions.

Generated by OpenCVE AI on November 9, 2026 at 23:19 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, SFTPServer.map_path() uses posixpath.normpath() on a client-supplied path and removes only one leading slash before passing the result to posixpath.join() with the configured chroot. An authenticated SFTP user can supply a path beginning with exactly two slash characters, causing POSIX normalization to preserve the double-leading-slash form and the subsequent join to treat the remaining pathname as absolute. This bypasses the SFTP chroot and permits reads and writes with the operating-system permissions of the account running the server, which may enable code execution depending on writable targets. This issue is fixed in version 2.24.1.
Title AsyncSSH: SFTPServer Chroot Escape
Weaknesses CWE-22
CWE-50
References
Metrics cvssV3_1

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


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

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

Reserved: 2026-09-29T15:56:02.100Z

Link: CVE-2026-102643

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

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

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

Link: CVE-2026-102643

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')

  • CWE-50

    Path Equivalence: '//multiple/leading/slash'