Перейти к содержимому
Noroxi

CWE-798 · 1 511 записей

Жёстко заданные учётные данные

Почему это происходит?

Ради удобства поддержки или производства в ПО встраивается учётная запись, одинаковая на всех устройствах. Данные, полученные с одного устройства, действуют на всех.

Уязвимый и исправленный код

Показательный учебный пример. Выделенные строки показывают, где ошибка и где исправление.

Уязвимый код

ts
const SUPPORT_USER = "support";const SUPPORT_PASS = "zhestko-zadannyy-parol";

Исправленный код

ts
const creds = await provisioning.deviceCredentials(deviceId);if (creds.mustRotate) await forcePasswordChange(deviceId);

Как предотвратить

  1. 01Назначайте каждому устройству уникальные учётные данные при производстве.
  2. 02Требуйте смены пароля при первоначальной настройке.
  3. 03Автоматически проверяйте пакеты ПО на наличие встроенных секретов.

CVE этого класса

1 514 записей

Все классы уязвимостей