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