MetaMask и Phantom предупредили своих пользователей об уязвимости Demonic, позволяющей злоумышленникам узнавать секретные фразы для восстановления доступа к криптовалютным кошелькам и, соответственно, похищать хранящиеся в них средства и NFT-токены. Специалисты организации Halborn, занимающейся безопасностью блокчейна, обнаружили проблему в сентябре 2021 года и сообщили о ней разработчикам криптовалютных кошельков.
Фразы для восстановления или так называемые сид-фразы представляют собой набор слов, играющих роль понятного для человека ключа от криптовалютного кошелька. Любой, кто получит доступ к сид-фразе, сможет импортировать кошелек на собственное устройство и воспользоваться его содержимым.
Уязвимость, получившая идентификатор CVE-2022-32969, связана с тем, как браузеры сохраняют на диск содержимое полей для ввода данных (не паролей) в рамках стандартного механизма восстановления сеанса.
Google Chrome и Mozilla Firefox кэшируют данные, вводимые пользователем в текстовые поля (кроме паролей), чтобы восстановить их на случай аварийного завершения работы. Поскольку для ввода сид-фразы такие расширения для браузера, как Metamask, Phantom и Brave используют поля, не предназначенные для ввода пароля, она сохраняется на диск в текстовом виде.
Злоумышленник или вредоносное ПО с доступом к компьютеру может похитить сид-фразу и импортировать криптокошелек на другое устройство. Для осуществления атаки необходим физический доступ к компьютеру или удаленный (например, через RAT-троян). Однако, если жесткий диск зашифрован, даже если злоумышленнику удастся похитить его содержимое, без криптографического ключа он не сможет извлечь сид-фразу.
Как пояснили специалисты Halborn, для успешного осуществления атаки нужно, чтобы жертва поставила галочку возле «Показывать фразу для восстановления». Однако это не является проблемой, поскольку многие используют эту функцию с целью убедиться, что они вводят правильные слова, ведь фраза длинная, и сделать опечатку очень легко.
Metamask исправил проблему в версии расширения 10.11.3, xDefi – в версии 13.3.8, а Phantom устранил ее в апреле 2022 года. Brave пока не опубликовал никакого заявления относительно уязвимости.
Источник: SecurityLab