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