Consentire socket TCP arbitrari provenienti dal browser web significa che un utente malintenzionato può utilizzare il browser come trampolino per connettersi a servizi arbitrari sulla rete locale degli utenti. Ad esempio, possono essere server di posta locali che spesso sono configurati per fidarsi di qualsiasi sistema interno per inviare posta e quindi possono essere utilizzati in modo improprio per inviare mail di phishing che sembrano provenire da un sistema locale o semplicemente per inviare spam. Ma anche altri servizi potrebbero essere interessati.
I WebSocket sono invece un protocollo a livello di applicazione su TCP. Iniziano con una challenge-response basata su HTTP e continuano con un protocollo che usa frame che sono inoltre corredati di una chiave casuale precedentemente stabilita. Questo è fatto specificamente in modo che questo protocollo non possa essere interpretato erroneamente da ignari server TCP.
how are they not applicable to websockets?
Anche se è vero che i WebSocket sono considerati molto meno pericolosi del semplice TCP, non sono innocenti. Se è presente un'applicazione interna a cui è possibile accedere utilizzando misure esplicite WebSockets, è necessario adottare misure sul lato server per limitare l'accesso a questa applicazione. I WebSocket non sono coperti dalla politica di origine identica nel browser, cioè è possibile connettere tra loro una connessione incrociata a un server WebSocket e qualsiasi restrizione a questa necessità deve essere utilizzata sul lato server. Vedi anche Cross-Site WebSocket Hijacking (CSWSH) .