Критическая уязвимость удаленного выполнения кода (RCE) в библиотеке protobuf.js

Критическая уязвимость в широко используемой библиотеке Protocol Buffers
Опубликован код эксплойта для критической уязвимости удаленного выполнения кода в protobuf.js — JavaScript-реализации Protocol Buffers от Google, которая еженедельно скачивается из npm почти 50 миллионов раз.
Технические детали уязвимости
Уязвимость (идентификатор GHSA-xq3m-2v4x-88gg) вызвана небезопасной динамической генерацией кода. Библиотека создает JavaScript-функции из схем protobuf путем конкатенации строк и выполнения их через конструктор Function(), но не проверяет идентификаторы, полученные из схем, такие как имена сообщений.
Это позволяет злоумышленнику предоставить вредоносную схему, которая внедряет произвольный код в сгенерированную функцию, выполняемую при обработке сообщения с использованием этой схемы.
Влияние и затронутые версии
- Затрагивает protobuf.js версий 8.0.0/7.5.4 и ниже
- Позволяет выполнять удаленный код на серверах или в приложениях, загружающих схемы под влиянием злоумышленника
- Может предоставить доступ к переменным окружения, учетным данным, базам данных и внутренним системам
- Позволяет перемещаться внутри инфраструктуры
- Может затрагивать машины разработчиков, локально загружающих ненадежные схемы
Исправления и рекомендации
Обновитесь до исправленных версий:
- 8.0.1 для ветки 8.x (выпущена в npm 4 апреля)
- 7.5.5 для ветки 7.x (выпущена в npm 15 апреля)
Исправление очищает имена типов, удаляя неалфавитно-цифровые символы, что предотвращает возможность злоумышленникам закрыть синтетическую функцию. Endor Labs отмечает, что более долгосрочным решением было бы полностью прекратить передачу доступных злоумышленнику идентификаторов через Function.
Дополнительные рекомендации от Endor Labs:
- Проведите аудит транзитивных зависимостей
- Рассматривайте загрузку схем как ненадежные входные данные
- Предпочитайте предварительно скомпилированные/статические схемы в продакшене
Хронология и статус
- Уязвимость сообщена исследователем Endor Labs Кристианом Стайку 2 марта
- Исправление выпущено на GitHub 11 марта
- Пакеты npm обновлены в апреле
- Активных эксплуатаций на данный момент не наблюдалось
- Эксплуатация описана как "простая" с доступным минимальным PoC
📖 Read the full source: HN AI Agents
👀 Смотрите также

Ошибка плагина Claude Code вызывает скачки потребления процессора и разрядку аккумулятора.
Пользователь обнаружил, что плагин Claude Code для Telegram создает несколько процессов bun.exe, которые работают на 100% загрузки ЦП даже при закрытой крышке ноутбука, вызывая быстрый разряд батареи. Процессы сохраняются после циклов сна/пробуждения и требуют специальных шагов для удаления.

Предотвращение участия ИИ-агентов в ботнетах: вопросы безопасности
Сообщество обсуждает защиту автономных ИИ-агентов от захвата и использования в вредоносных ботнетах.

Бенчмарк безопасности: 10 крупных языковых моделей протестированы с помощью 211 вредоносных запросов.
Исследователь безопасности протестировал 10 больших языковых моделей (LLM) против 211 атакующих воздействий, обнаружив, что устойчивость к извлечению данных в среднем составляет 85%, а устойчивость к внедрению — всего 46,2%. Каждая модель полностью провалила тесты на атаки с использованием разделителей, отвлекающих элементов и стилевого внедрения.

Подход Виталика Бутерина к безопасной локальной настройке LLM
Виталик Бутерин описывает свою настройку самоуправляемой языковой модели, ориентированную на локальный вывод, изоляцию и снижение рисков приватности, таких как утечка данных и взломы.