Podatność w NATS Server umożliwia nieuwierzytelnionemu atakującemu zdalne wywołanie awarii (crash) serwera poprzez wysyłanie spreparowanych wiadomości protokołu INFO do listenera leafnode z włączoną kompresją. Luka jest szczególnie groźna, ponieważ nie wymaga żadnego uwierzytelnienia ani interakcji użytkownika.
▸ Pokaż oryginał (EN)
NATS Server is a high-performance server for NATS.io, the cloud and edge native messaging system. Prior to 2.12.8 and 2.11.17, an unauthenticated peer with network access to a leafnode listener with compression enabled could crash the server during the pre-authentication leafnode handshake by sending repeated leafnode INFO protocol messages before authentication and account setup completed. This issue is fixed in versions 2.12.8 and 2.11.17.
Przed ukończeniem procesu uwierzytelniania i konfiguracji konta, atakujący z dostępem sieciowym do listenera leafnode może wielokrotnie wysyłać wiadomości protokołu leafnode INFO. Gdy kompresja jest włączona na listenerze, nieprawidłowa obsługa tych wiadomości podczas wstępnego handshake'u prowadzi do dereferencji pustego wskaźnika (NULL pointer dereference, CWE-476), skutkującej awaryjnym zatrzymaniem procesu serwera.
Atakujący może spowodować całkowite zatrzymanie (crash) serwera NATS, co prowadzi do odmowy usługi (DoS) i przerwania przetwarzania komunikatów dla wszystkich podłączonych klientów i systemów zależnych.
Należy zaktualizować NATS Server do wersji 2.12.8 lub 2.11.17. Jako obejście można rozważyć wyłączenie kompresji na listenerze leafnode do czasu zastosowania patcha. Patche dostępne są w oficjalnym repozytorium projektu.
NATS Server w wersjach wcześniejszych niż 2.12.8 oraz 2.11.17, gdy listener leafnode ma włączoną kompresję.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:HLinuxfoundation Nats Server
APPLinuxfoundation< 2.11.172.12.0 – 2.12.8 (bez)
Powiązane podatności
Path traversal w NATS nats-server umożliwiający nieautoryzowane działania zarządzania
Nieprawidłowa kontrola dostępu w JWT library w NATS nats-server
NATS Server: przepełnienie arytmetyczne w paginacji Connz prowadzi do crash serwera
NATS Server: wyczerpanie pamięci przez niekompletne pakiety MQTT CONNECT
NATS Server: injection protokołu przez filtry subskrypcji MQTT