CVE-2023-46445
Medium · 5.9CVSS
5.9
EPSS
0.6%
Published
Nov 14, 2023
CISA due date
—
Cloudanix analysis
Attackers who can secretly intercept network traffic could tamper with how secure connections are set up in certain SSH software, potentially gaining unauthorized influence over those connections.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- High
- Impact
- Data Tampering
- Component
- Library
- Class
- Authentication Bypass
- Remediation
- Upgrade
- Effort
- Low
- Patch risk
- Low
What it actually does
Man-in-the-middle attacker can inject or alter the SSH extension information message during initial handshake per RFC 8308, bypassing intended negotiation and potentially enabling integrity violations in session parameters.
Why it matters to the business
Environments relying on AsyncSSH for secure remote access face risk of session tampering or unauthorized control when an attacker has network interception capability, though low exploit probability limits widespread operational disruption.
How an attack unfolds
Attacker intercepts network traffic between SSH client and server, modifies the extension info message during the RFC 8308 negotiation phase of the handshake to influence session behavior without triggering standard authentication checks.
How to fix it
Upgrade ronf/asyncssh to version 2.14.1 or later by applying the fix from commit 0d6de9aec1a81a4f6ff7400c24b699eb6137fba3; verify all deployments pull from the corrected source.
How to confirm the fix worked
Confirm installed package version meets or exceeds 2.14.1 and review release notes for the rogue extension negotiation patch; perform functional tests of SSH connections to ensure negotiation behaves as expected.
Typical attack path
- Establish man-in-the-middle position on the network path between client and server
- Intercept the initial SSH protocol handshake packets
- Alter or inject the extension information message
- Allow the modified negotiation to complete and proceed with the session
How to detect it
Review SSH client and server logs for anomalous extension negotiation messages or unexpected RFC 8308 parameters; correlate with network flow data indicating possible interception attempts.
What your security team should do
- Prioritize upgrade of all AsyncSSH instances to the fixed release
- Implement network controls that reduce man-in-the-middle exposure such as certificate pinning or VPN enforcement
- Audit dependency graphs for downstream packages that embed vulnerable AsyncSSH versions
The record
An issue in AsyncSSH before 2.14.1 allows attackers to control the extension info message (RFC 8308) via a man-in-the-middle attack, aka a "Rogue Extension Negotiation."
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| PyPI | asyncssh | 0 | 2.14.1 |
| Debian:11 | python-asyncssh | 0 | 2.5.0-0.1+deb11u1 |
| Debian:12 | python-asyncssh | 0 | No fix |
| Debian:13 | python-asyncssh | 0 | 2.15.0-1 |
| Ubuntu:16.04:LTS | python-asyncssh | 0 | No fix |
| Ubuntu:20.04:LTS | python-asyncssh | 0 | No fix |
| Ubuntu:20.04:LTS | python-asyncssh | 0 | 1.12.2-1ubuntu0.2 |
| Ubuntu:22.04:LTS | python-asyncssh | 0 | No fix |
| Ubuntu:22.04:LTS | python-asyncssh | 0 | 2.5.0-1ubuntu0.1 |
| Ubuntu:24.04:LTS | python-asyncssh | 0 | No fix |
| Ubuntu:24.10 | python-asyncssh | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | python-asyncssh | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | python-asyncssh | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | python-asyncssh | 0 | 1.11.1-1ubuntu0.1~esm2 |
| Ubuntu:Pro:24.04:LTS | python-asyncssh | 0 | 2.10.1-2ubuntu0.1+esm1 |
Related vulnerabilities
- CVE-2023-46446 An issue in AsyncSSH before 2.14.1 allows attackers to control the remote end of an SSH… Also affects asyncssh
- CVE-2026-63115 ActivityPub is a multi-tenant ActivityPub server for Ghost, built with Fedify. CWE-345
- CVE-2026-119289 Zuke is a code-first, strongly typed build automation system for Deno. CWE-345
- CVE-2026-119422 Juspay Hyperswitch before 1.128.0 contains an authentication bypass vulnerability that… CWE-345
- CVE-2026-93008 A flaw was found in dnsmasq. CWE-345
- CVE-2026-110985 A Kafka broker using SASL/OAUTHBEARER with the default validator… CWE-345
- CVE-2026-110952 A Kafka broker that authenticates clients with SASL/OAUTHBEARER using the bundled… CWE-345
- CVE-2026-103402 An Insufficient Verification of Data Authenticity vulnerability in PCLI in Juniper… CWE-345