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