CVE-2026-54590: Path Traversal and Authentication Bypass in AsyncSSH via Username Token Substitution
Vulnerability ID: CVE-2026-54590
CVSS Score: 5.9
Published: 2026-08-26
An incomplete input sanitization fix in AsyncSSH version 2.23.0 allows unauthenticated remote attackers to bypass directory restriction controls and perform path-traversal attacks. When the system is configured to perform username token substitution inside its AuthorizedKeysFile directive, attackers can manipulate downstream path resolution mechanisms via tilde expansion and environment variable references. This flaw permits authentication bypasses by forcing the server to read public keys from unauthorized file locations outside the restricted environment.
TL;DR
An incomplete path-traversal fix in AsyncSSH allows unauthenticated remote attackers to escape AuthorizedKeysFile directories using tilde expansion and environment variable manipulation, enabling potential authentication bypass.
⚠️ Exploit Status: POC
Technical Details
- CWE ID: CWE-22
- Attack Vector: Network
- CVSS: 5.9 (Medium)
- EPSS Score: 0.00393
- Impact: Integrity (High)
- Exploit Status: Proof of Concept
- KEV Status: Not Listed
Affected Systems
- asyncssh Python package deployments
- SSH servers utilizing dynamic AuthorizedKeysFile directories
-
asyncssh: <= 2.23.0 (Fixed in:
2.23.1)
Code Analysis
Commit: 3d515ba
Improve validation of username substitutions in config parameters
Exploit Details
- GitHub Security Advisory: Advisory documenting the directory traversal bypass utilizing tilde expansion and environment variables
Mitigation Strategies
- Upgrade the asyncssh Python package to version 2.23.1 or later
- Avoid utilizing username token substitutions (%u) in AuthorizedKeysFile directives
- Run the asyncssh application under an unprivileged user to limit path resolution scopes
- Enforce container isolation or a read-only host filesystem
Remediation Steps:
- Identify all deployments using asyncssh version 2.23.0
- Execute 'pip install --upgrade asyncssh>=2.23.1' in the target python environment
- Audit active configuration templates to verify AuthorizedKeysFile paths
- Restart the affected SSH daemon service to apply the updated validation code
References
Read the full report for CVE-2026-54590 on our website for more details including interactive diagrams and full exploit analysis.
Top comments (0)