Разработчики опенсорсного менеджера паролей KeePass объясняют, что уязвимость, которая позволяет злоумышленнику похитить все пароли пользователя, не так уж опасна. Дело в том, что разработчики придерживаются мнения, что если злоумышленник контролирует вашу систему, то это уже не ваша система.
KeePass — популярный менеджер паролей, который позволяет управлять паролями, используя локально хранимую базу данных, а не облачную, в отличие от LastPass или Bitwarden. Чтобы защитить такие локальные БД, пользователи могут зашифровать их с помощью мастер-пароля, чтобы проникшая в систему малварь или злоумышленник не могли попросту похитить БД и автоматически получить доступ ко всем хранящимся там данным.
Обнаруженная в KeePass уязвимость (CVE-2023-24055) и позволяет злоумышленникам, имеющим доступ на запись в целевой системе, изменять XML-файл конфигурации KeePass и внедрять в него вредоносный триггер, который позволит экспортировать базу данных парольного менеджера, включая все хранящиеся там имена пользователей и пароли в формате простого текста.
То есть в следующий раз, когда жертва запустит KeePass и введет мастер-пароль для открытия и расшифровки БД, сработает «закладка» для экспорта, и все содержимое базы будет сохранено в отдельном файле, который злоумышленники смогут прочитать и украсть. При этом процесс экспорта запускается в фоновом режиме без уведомления пользователя и запроса на ввод мастер-пароля, что позволяет атакующему оставаться незамеченным.
Хуже того, PoC-эксплоит для CVE-2023-24055 уже опубликован в открытом доступе, а это значительно упрощает разработчикам малвари задачу по обновлению своих инфостилеров и созданию вредоносных программ, способных похищать базы KeePass со скомпрометированных устройств.
После того как об уязвимости стало известно, пользователи просят команду разработчиков KeePass хотя бы добавить в менеджер паролей обязательное подтверждение, которое запрашивалось бы перед автоматическим экспортом БД, или опубликовать версию приложения, которая вообще не содержит функции экспорта. Также в программу предлагают добавить настраиваемый флаг для отключения экспорта внутри фактической БД KeePass, который можно было бы изменить, только зная мастер-пароль.
Однако у команды разработчиков KeePass на этот счет имеется собственная точка зрения. По их мнению, CVE-2023-24055 вообще следует классифицировать как уязвимость, учитывая, что злоумышленник, уже имеющий доступ на запись на целевом устройстве, может получить информацию из базы данных KeePass многими другими способами.
Фактически, в справочном центре KeePass проблема доступа к файлу конфигурации с правом на запись упоминается неоднократно, как минимум с апреля 2019 года. И там тоже сообщается, что «это не уязвимость в безопасности KeePass».
«Наличие доступа на запись к файлу конфигурации KeePass обычно означает, что злоумышленник может выполнить и более мощные атаки, а не простое изменение файла конфигурации (и эти атаки, в конце концов, смогут повлиять на KeePass, независимо от защиты файла конфигурации), — объясняют разработчики KeePass. — Такие атаки можно предотвратить, только поддерживая безопасность среды (используя антивирусное программное обеспечение, брандмауэр, не открывая неизвестные вложения электронной почты и так далее). А KeePass не может безопасно работать в небезопасной среде каким-то магическим образом».