Katalog CVE

CVE-2026-62949

ŚrednieCVSS 6.5
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Streszczenie

AsyncSSH to pakiet Pythona zapewniający asynchroniczną implementację klienta i serwera protokołu SSHv2 na frameworku asyncio. W wersjach przed 2.24.0 funkcje _process_channel_open i _process_channel_open_confirmation w asyncssh/connection.py akceptują wartość send_pktsize równą zero dostarczoną przez drugą stronę. Gdy dane kanału docierają do SSHChannel._flush_send_buf w asyncssh/channel.py, wartość zero powoduje, że każda iteracja pętli wycina i usuwa zero bajtów bez zmniejszania okna wysyłania, pozostawiając synchroniczną pętlę na stałe prawdziwą bez punktu await. Złośliwy serwer SSH może wywołać ścieżkę klienta przez SSH_MSG_CHANNEL_OPEN_CONFIRMATION przed pierwszym zapisem do kanału, a uwierzytelniony klient może wywołać ścieżkę serwera przez SSH_MSG_CHANNEL_OPEN i zamrozić wszystkie bieżące i przyszłe połączenia obsługiwane przez proces. Podatność została naprawiona w wersji 2.24.0.

Ocena ryzyka

Złośliwy serwer SSH może zamrozić klienta, a uwierzytelniony klient może zamrozić serwer, blokując wszystkie bieżące i przyszłe połączenia obsługiwane przez proces. Prowadzi to do odmowy usługi (DoS) i niedostępności usług SSH.

Rekomendacja

Należy zaktualizować AsyncSSH do wersji 2.24.0 lub nowszej. Do czasu aktualizacji zaleca się ograniczenie zaufania do serwerów SSH oraz monitorowanie nietypowych zachowań połączeń.

Inne podatności w AsyncSSH

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

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.0, _process_channel_open and _process_channel_open_confirmation in asyncssh/connection.py accept a peer-supplied send_pktsize value of zero. When channel data reaches SSHChannel._flush_send_buf in asyncssh/channel.py, the zero value causes each loop iteration to slice and remove zero bytes without reducing the send window, leaving the synchronous loop permanently true with no await point. A malicious SSH server can trigger the client path through SSH_MSG_CHANNEL_OPEN_CONFIRMATION before the first channel write, while an authenticated client can trigger the server path through SSH_MSG_CHANNEL_OPEN and freeze every current and future connection handled by the process. This vulnerability is fixed in 2.24.0.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS