CVE-2026-102643: AsyncSSH: SFTPServer Chroot Escape
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.mappath() 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.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
AsyncSSHto a version that resolves this vulnerability.Fixed in 2.24.1
Event History
Frequently Asked Questions
Who can exploit this issue?
An authenticated SFTP user can exploit it. The impact is limited by the operating-system permissions of the account running the AsyncSSH server, but those permissions may allow reads, writes, or potentially code execution through writable targets.
What path input triggers the chroot bypass?
The attacker must provide a client-supplied SFTP path beginning with exactly two slash characters. POSIX normalization preserves that double-leading-slash form, allowing the later path join to treat the remaining path as absolute.
Are deployments using the SFTP chroot configuration affected by default?
Affected AsyncSSH versions prior to 2.24.1 are vulnerable when using SFTPServer.map_path() with a configured chroot. The issue bypasses that chroot rather than requiring the attacker to escape it through filesystem traversal sequences.
How can this be remediated?
Upgrade AsyncSSH to version 2.24.1, which fixes the issue. If immediate patching is not possible, restrict SFTP access to trusted authenticated users and ensure the server process runs under an account with minimal filesystem permissions.