Сокет правильно не устанавливается из-за плохого порядка шагов связи или недостающих шагов
Этот дефект происходит, когда вы выполняете операции на сетевом подключении в неправильной точке жизненного цикла связи.
Отправка или получение данных к неправильно подключенному сокету могут вызвать неожиданное поведение или раскрытие уязвимой информации.
Если вы не соединяете свой сокет правильно или изменяете связь по ошибке, можно отправить уязвимые данные в неожиданный порт. Можно также получить неожиданные данные из неправильного сокета.
Во время сокетного соединения и коммуникации, проверяйте возврат каждого вызова и длину данных.
Перед чтением, записью, отправка или получение информации, создает сокеты в этом порядке:
Для сокета сервера с установлением соединения (SOCK_STREAM или SOCK_SEQPACKET):
socket(...); bind(...); listen(...); accept(...);
Для сокета сервера без установления соединения (SOCK_DGRAM):
socket(...); bind(...);
Для клиентского сокета (с установлением соединения или без установления соединения):
socket(...); connect(...);
| Группа: безопасность |
| Язык: C | C++ |
| Значение по умолчанию: Off |
Синтаксис командной строки: BAD_NETWORK_CONNECT_ORDER |
| Удар: Средняя |
| ID CWE: 666 |