Из репозитория npm изгнали опасных Windows- и Linux-зловредов

Из репозитория npm изгнали опасных Windows- и Linux-зловредов

Из репозитория npm изгнали опасных Windows- и Linux-зловредов

Команда npm удалила с портала четыре Node.js-пакета с вредоносным кодом, способным устанавливать удаленное соединение со сторонним сервером. Зловреды просуществовали в открытом доступе два года; за последние месяцы их успели скачать более 1000 раз.

Речь идет о следующих пакетах:

Все они уже вычищены из репозиториев на GitHub, соответствующие npm-аккаунты разработчиков закрыты. Тем, кто успел скачать вредоносный пакет, рекомендуется удалить его и сменить все логины и пароли, используемые в локальном окружении.

Эксперту BleepingComputer удалось отыскать и изучить копии исходников вредоносных Node.js-пакетов. Анализ показал, что код plutov-slack-client, nodetest1010 и nodetest199 одинаков и способен работать на Windows и Unix-подобных системах. При установке зловред открывает обратный шелл, обеспечивая злоумышленнику удаленный доступ к скомпрометированной системе.

«Любой компьютер, на котором установлен или работает этот пакет, следует считать полностью скомпрометированным, — сказано в бюллетене npm. — Все секретные данные и ключи, сохраненные на этом компьютере, следует немедленно сменить, используя другое устройство. Пакет надлежит удалить, однако, поскольку контроль над компьютером уже перехвачен, эта мера не гарантирует удаление всех вредоносных программ, которые могли появиться в результате его установки».

Пакет npmpubman по коду и назначению отличен от рассмотренной выше троицы. Он собирает пользовательские данные из переменных окружения и выгружает их на удаленный сервер. Злоумышленники могут использовать подобный инструмент, к примеру, для сбора информации о системе перед атакой. Активация вредоноса, согласно бюллетеню, не происходит автоматически, жертва должна запустить его вручную.

Баг macOS ломает TCP через 49 дней без перезагрузки

В macOS нашли редкий, но очень неприятный баг: если компьютер работает без перезагрузки примерно 49,7 дня, у него может постепенно умирать TCP. По версии исследователей, проблема связана с переполнением 32-битного счётчика времени в ядре XNU, который используется TCP-подсистемой.

После этого внутренние TCP-таймеры якобы перестают нормально обновляться, соединения в состоянии TIME_WAIT не очищаются, временные порты постепенно заканчиваются, и система в какой-то момент просто перестаёт устанавливать новые TCP-соединения.

При этом ping может продолжать работать, что делает сбой особенно странным. В Photon пишут, что заметили аномалию на своих macOS-машинах, которые круглосуточно используются для мониторинга iMessage-сервисов.

По их описанию, часть узлов после примерно 49 дней 17 часов 2 минут 47 секунд аптайма перестала открывать новые TCP-сессии. После перезагрузки всё возвращалось в норму, но таймер, по сути, запускался заново.

Авторы утверждают, что смогли воспроизвести поведение на двух машинах и связали его с переменной tcp_now в XNU. В открытом репозитории Apple действительно есть TCP-код ядра Darwin/XNU, где используются 32-битные значения времени и логика сравнения временных меток TCP, на которую ссылаются исследователи.

Поведения бага выглядит так: сначала ничего не ломается в лоб, но закрытые TCP-соединения перестают вовремя исчезать из TIME_WAIT. Затем их становится всё больше, временные порты забиваются, новые подключения начинают зависать в SYN_SENT, а сервисы, которым нужны новые TCP-сокеты, начинают сыпаться.

Если эта находка подтвердится, то для обычного пользователя баг вряд ли станет массовой проблемой: большинство устройств на macOS перезагружаются чаще (хотя бы из-за обновлений). А вот для долго работающих Mac mini, билд-серверов, CI/CD-ферм, удалённых рабочих станций и серверных компьютеров, которые могут жить без ребута неделями, история выглядит уже куда серьёзнее.

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

RSS: Новости на портале Anti-Malware.ru