Функция, небезопасная в связанных с безопасностью целях
Этот дефект происходит, когда вы используете стандартные функции, которые небезопасны и не должны использоваться для связанного с безопасностью программирования. Функции могут быть небезопасными по многим причинам. Некоторые функции небезопасны, потому что они неповторно используемы. Другие функции изменяют поведение в зависимости от цели или платформы, делая некоторые реализации небезопасными.
Некоторые небезопасные функции не повторно используемы, означая, что содержимое функции не заблокировано во время вызова. Так, атакующий может изменить середину реки значений.
getlogin
в частности может быть небезопасным в зависимости от реализации. Некоторые реализации getlogin
возвратите только первые восемь символов имени для входа в систему. Атакующий может использовать различный вход в систему с теми же первыми восемью символами, чтобы получить запись и управлять программой.
Избегайте небезопасных функций в связанных с безопасностью целях. Если вы не можете избежать небезопасных функций, используйте более безопасную версию функции вместо этого. Для getlogin
, используйте getlogin_r
.
Группа: безопасность |
Язык: C | C++ |
Значение по умолчанию: Off |
Синтаксис командной строки: UNSAFE_STD_FUNC |
Удар: Средняя |
ID CWE: 558, 663 |
Find defects (-checkers)
| Invalid use of standard library string routine
| Use of dangerous standard function
| Use of obsolete standard function