CVE-2023-46445

AsyncSSH Rogue Extension Negotiation in pypi/asyncssh

Identifiers

GHSA-cfc2-wr2v-gxm5, CVE-2023-46445

Package Slug

pypi/asyncssh

Vulnerability

AsyncSSH Rogue Extension Negotiation

Description

An issue in AsyncSSH v2.14.0 and earlier allows attackers to control the extension info message (RFC 8308) via a man-in-the-middle attack.

The rogue extension negotiation attack targets an AsyncSSH client connecting to any SSH server sending an extension info message. The attack exploits an implementation flaw in the AsyncSSH implementation to inject an extension info message chosen by the attacker and delete the original extension info message, effectively replacing it.

A correct SSH implementation should not process an unauthenticated extension info message. However, the injected message is accepted due to flaws in AsyncSSH. AsyncSSH supports the server-sig-algs and global-requests-ok extensions. Hence, the attacker can downgrade the algorithm used for client authentication by meddling with the value of server-sig-algs (e.g. use of SHA-1 instead of SHA-2).

Affected Versions

All versions before 2.14.1

Solution

Upgrade to version 2.14.1 or above.

Last Modified

2023-11-10

source