Уязвимость в Node.js поставила под удар множество криптовалютных кошельков

Уязвимость в Node.js поставила под удар множество криптовалютных кошельков

Новая уязвимость во фреймворке Node.js, который используют миллионы веб-приложений, включая криптовалютные кошельки, может привести к потере данных. При этом отмечается, что уязвимость появилась неслучайно, а была намеренно добавлена в библиотеку event-stream, которая используется во многих приложениях на Node.js.

Разработчик библиотеки Доминик Тарр (Dominic Tarr) уже несколько лет не работает над проектом. Он передал права на репозиторий новому пользователю под ником right9ctrl, у которого на тот момент практически не было активности на GitHub.

Сообщается, что именно пользователь right9ctrl добавил в библиотеку вредоносный код, с помощью которого злоумышленники могут получить доступ к секретным ключам в приложениях, использующих библиотеку.

«Он добавил вредоносный код flatmap-stream, который нацелен на ps-tree, и практически сразу опубликовал изменения. Второе добавление, которое произошло через три дня, удалило инъекцию и обновило версию библиотеки, так что репозиторий очистился от вредоносного кода. Но те, кто обновились до этого, получили сборку с инъекцией», – заявил поднявший эту тему пользователь Айртон Спарлинг (Ayrton Sparling).

Проще говоря, злоумышленник на некоторое время подменил библиотеку версией, содержащей вредоносный код, а затем заменил на нормальную. Но множество пользователей осталось с инфицированной версией.

На данный момент известно, что влиянию подвергся криптовалютный кошелек Copay. Так как это кошелек с открытым исходным кодом, на котором построено множество других приложений, связанных с криптовалютами, масштаб проблемы может быть довольно большим.

Ранее специалист по компьютерной безопасности Лукас Стефанко (Lukas Stefanko) сообщал, что обнаружил в магазине приложений Google Play сразу четыре фальшивых криптовалютных кошелька, которые воруют данные пользователей.

Вам также может понравиться

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *