Biblioteka Java-WebSocket w wersjach do 1.4.1 włącznie nie weryfikuje, czy nazwa hosta w certyfikacie SSL odpowiada rzeczywistemu hostowi serwera. Umożliwia to atakującemu przeprowadzenie ataku typu Man-in-the-Middle (MITM) na szyfrowane połączenia WebSocket.
▸ Pokaż oryginał (EN)
In Java-WebSocket less than or equal to 1.4.1, there is an Improper Validation of Certificate with Host Mismatch where WebSocketClient does not perform SSL hostname validation. This has been patched in 1.5.0.
Klasa WebSocketClient nie wykonuje walidacji hostname podczas nawiązywania połączeń SSL/TLS. Oznacza to, że biblioteka akceptuje certyfikat wystawiony dla dowolnej domeny, nawet jeśli nie pasuje ona do rzeczywistego hosta, z którym nawiązywane jest połączenie. Atakujący zdolny do przechwycenia ruchu sieciowego może podszyć się pod zaufany serwer, prezentując własny certyfikat, który mimo niezgodności zostanie zaakceptowany przez bibliotekę.
Atakujący może przechwytywać, odczytywać i modyfikować szyfrowaną komunikację WebSocket (naruszenie poufności i integralności danych), a także potencjalnie wstrzykiwać złośliwe dane do strumienia komunikacji, co może prowadzić do kompromitacji systemu docelowego.
Należy zaktualizować bibliotekę Java-WebSocket do wersji 1.5.0 lub nowszej, w której wprowadzono poprawkę wymuszającą prawidłową walidację hostname certyfikatu SSL.
Java-WebSocket Project Java-WebSocket w wersjach mniejszych lub równych 1.4.1
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:HJava Websocket Project Java Websocket
APPJava-Websocket Project≤ 1.4.1