Fallos del tipo CWE-1385
34 resultadosValidação ausente de origem em WebSockets
Ocorre quando uma aplicação WebSocket aceita conexões sem verificar se o cliente vem de um domínio autorizado. Um atacante em outro site consegue estabelecer um WebSocket direto com sua aplicação em nome de um usuário autenticado, executando ações maliciosas sem consentimento (ataque CSRF via WebSocket). Diferente do HTTP, browsers não enviam automaticamente o header Origin em todas as situações, então validá-lo no servidor é crítico.
Um banco oferece transações via WebSocket. Um atacante cria um site que, ao ser visitado por um cliente do banco, abre um WebSocket para ws://banco.com/transacao e transfere dinheiro. Se o servidor não valida o Origin header, a conexão é aceita e o dano é feito.
Valide sempre o header Origin (ou Sec-WebSocket-Origin) na função de upgrade do WebSocket e rejeite conexões de domínios não autorizados. Use tokens CSRF também em handshakes WebSocket, não confie apenas em autenticação de sessão.