Критическая уязвимость удаленного выполнения кода (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
👀 Смотрите также

Пробел в безопасности OpenClaw устранен спецификацией агентской доверенности (APOA).
Разработчик опубликовал открытую спецификацию под названием Agentic Power of Attorney (APOA), чтобы решить проблемы безопасности в OpenClaw, где агенты в настоящее время получают доступ к таким сервисам, как электронная почта и календарь, имея в качестве ограничений только инструкции на естественном языке. Спецификация предлагает разрешения для каждого сервиса, ограниченный по времени доступ, журналы аудита, отзыв прав и изоляцию учетных данных.

Fil-C делает setjmp/longjmp и ucontext безопасными для памяти
Fil-C реализует setjmp/longjmp и ucontext API без повреждения стека или висящих указателей, предотвращая распространенные ошибки, ведущие к сбоям или уязвимостям.

Проблемы конфиденциальности в OpenClaw: Навыки, SOUL MD и взаимодействие агентов
Разработчик поднимает вопросы конфиденциальности в архитектуре OpenClaw, в частности, касательно неограниченного доступа навыков к конфиденциальным данным, возможности записи в SOUL MD и обмена информацией между агентами без фильтров.

Сканер локального внедрения промптов в модели для безопасности AI-навыков
Концептуальный инструмент сканирует сторонние навыки ИИ на наличие скрытых инъекций bash-команд с использованием локальной модели без вызова инструментов, такой как mistral-small:latest на Ollama, решая проблемы безопасности в функции оператора ! в Claude Code.