Координационный центр CERT (CERT/CC) выпустил предупреждение о серьезной проблеме безопасности в популярном npm-пакете, предназначенном для среды Node.js. Уязвимость обнаружена в библиотеке

Выявленной проблеме присвоен идентификатор CVE-2026-1245, и она классифицируется как уязвимость высокой степени тяжести. Ошибка затрагивает все версии библиотеки до релиза 2.3.0. Основная угроза заключается в возможности выполнения произвольного кода с уровнем привилегий процесса Node.js. Это открывает злоумышленникам доступ к локальным данным, позволяет манипулировать логикой приложения и, в зависимости от среды развертывания, выполнять системные команды.
Техническая причина уязвимости кроется в механизме работы самой библиотеки.
Критический недостаток заключается в отсутствии надлежащей санитизации (очистки) входных данных, предоставляемых пользователем. Уязвимыми точками для инъекции являются имена полей парсера и параметры кодировки. Если эти значения генерируются динамически во время выполнения программы без предварительной проверки, атакующий может внедрить вредоносный ввод, который попадет непосредственно в генерируемый и исполняемый код.
Исследователь безопасности Маор Каплан, обнаруживший данную проблему, отметил, что эксплуатация возможна именно при динамической генерации параметров. Важно подчеркнуть, что конфигурации приложений, использующие исключительно статические, жестко закодированные определения парсеров, не подвержены данной уязвимости, так как в них отсутствует вектор для внедрения вредоносного кода извне.
Разработчикам, использующим
Исправление безопасности было выпущено 26 ноября 2025 года вместе с версией пакета 2.3.0. Единственным надежным способом устранения уязвимости является обновление библиотеки до этой или более поздней версии. Это обновление закрывает возможность инъекции кода через параметры конструктора функций.
Помимо технического обновления, эксперты рекомендуют пересмотреть подходы к написанию кода при работе с подобными инструментами. В качестве лучшей практики разработчикам советуют избегать передачи значений, контролируемых пользователем, в имена полей парсера или параметры кодировки, чтобы минимизировать риски возникновения подобных брешей в будущем.
binary-parser, которая представляет собой конструктор синтаксических анализаторов для JavaScript. Этот инструмент позволяет разработчикам обрабатывать бинарные данные, поддерживая работу с целыми числами, значениями с плавающей запятой, строками и массивами. Популярность пакета подтверждается статистикой: его загружают примерно 13 000 раз в неделю. 
Изображение носит иллюстративный характер
Выявленной проблеме присвоен идентификатор CVE-2026-1245, и она классифицируется как уязвимость высокой степени тяжести. Ошибка затрагивает все версии библиотеки до релиза 2.3.0. Основная угроза заключается в возможности выполнения произвольного кода с уровнем привилегий процесса Node.js. Это открывает злоумышленникам доступ к локальным данным, позволяет манипулировать логикой приложения и, в зависимости от среды развертывания, выполнять системные команды.
Техническая причина уязвимости кроется в механизме работы самой библиотеки.
binary-parser функционирует путем построения исходного кода JavaScript в виде строки для представления логики синтаксического анализа. Для повышения эффективности эта строка затем компилируется с использованием конструктора «Function» и кэшируется как исполняемая функция. Критический недостаток заключается в отсутствии надлежащей санитизации (очистки) входных данных, предоставляемых пользователем. Уязвимыми точками для инъекции являются имена полей парсера и параметры кодировки. Если эти значения генерируются динамически во время выполнения программы без предварительной проверки, атакующий может внедрить вредоносный ввод, который попадет непосредственно в генерируемый и исполняемый код.
Исследователь безопасности Маор Каплан, обнаруживший данную проблему, отметил, что эксплуатация возможна именно при динамической генерации параметров. Важно подчеркнуть, что конфигурации приложений, использующие исключительно статические, жестко закодированные определения парсеров, не подвержены данной уязвимости, так как в них отсутствует вектор для внедрения вредоносного кода извне.
Разработчикам, использующим
binary-parser, необходимо учитывать, что успешная атака компрометирует безопасность всей системы. Поскольку код выполняется с привилегиями самого процесса Node.js, последствия могут варьироваться от утечки конфиденциальной информации до полного перехвата управления сервером или контейнером, где запущено приложение. Исправление безопасности было выпущено 26 ноября 2025 года вместе с версией пакета 2.3.0. Единственным надежным способом устранения уязвимости является обновление библиотеки до этой или более поздней версии. Это обновление закрывает возможность инъекции кода через параметры конструктора функций.
Помимо технического обновления, эксперты рекомендуют пересмотреть подходы к написанию кода при работе с подобными инструментами. В качестве лучшей практики разработчикам советуют избегать передачи значений, контролируемых пользователем, в имена полей парсера или параметры кодировки, чтобы минимизировать риски возникновения подобных брешей в будущем.