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