В Банке данных угроз безопасности информации (BDU) зарегистрирована новая критическая уязвимость, получившая идентификаторы BDU:2026-04940 и CVE-2026-26832. Эта уязвимость затрагивает популярную библиотеку "node-tesseract-ocr", которая используется для оптического распознавания символов (OCR) в среде Node.js. Проблема классифицируется как внедрение команд операционной системы и представляет серьёзную угрозу для конфиденциальности, целостности и доступности данных в уязвимых приложениях.
Детали уязвимости
Уязвимость существует в функции "recognize()" библиотеки и связана с недостаточной обработкой пользовательского ввода. Если точнее, код не нейтрализует специальные элементы, которые могут быть использованы для выполнения произвольных команд в операционной системе. Следовательно, злоумышленник, действующий удалённо, может передать специально сформированные данные, что позволит ему выполнить вредоносные команды на сервере. Уязвимыми являются все версии библиотеки "node-tesseract-ocr" до 2.2.1 включительно.
Оценка по методике CVSS подчёркивает критичность ситуации. По версии CVSS 2.0 базовая оценка достигает максимального значения 10.0, а по CVSS 3.1 составляет 9.8 баллов из 10. Обе оценки соответствуют критическому уровню опасности. Это означает, что для эксплуатации уязвимости не требуются ни специальные привилегии, ни взаимодействие с пользователем, а атака может быть проведена через сеть. Успешная атака может привести к полному компрометированию целевой системы.
Главная опасность заключается в том, что, согласно данным BDU, эксплойт для данной уязвимости уже существует в открытом доступе. Другими словами, злоумышленники имеют в распоряжении работающий инструмент для атаки. Это значительно сокращает время на реагирование для администраторов и разработчиков. Тип эксплуатации определён как инъекция, что является одним из наиболее распространённых и опасных методов кибератак.
На данный момент информация о выпущенном официальном исправлении (патче) от разработчиков библиотеки уточняется. Однако эксперты уже предлагают ряд компенсирующих мер для снижения риска. Во-первых, рекомендуется использовать межсетевые экраны уровня приложений, известные как WAF, для фильтрации и анализа входящего трафика. Во-вторых, стоит изолировать процессы, работающие с файлами из недоверенных источников, в замкнутых программных средах.
Для разработчиков ключевой рекомендацией является пересмотр кода, использующего библиотеку "node-tesseract-ocr". Специалисты по безопасности советуют избегать передачи непроверенных пользовательских данных напрямую в функцию "recognize()". Вместо этого необходимо внедрять строгую валидацию входных путей и параметров. Кроме того, если функциональность позволяет, стоит рассмотреть возможность замены опасных вызовов на более безопасные альтернативы, такие как "execFile()" или "spawn()" с явно переданными аргументами, что минимизирует риск инъекции.
Данный инцидент служит очередным напоминанием о важности контроля зависимостей в современной разработке. Библиотеки, такие как "node-tesseract-ocr", предоставляют готовые мощные функции, но также могут стать вектором для атаки на всё приложение. Поэтому регулярный аудит используемых пакетов, мониторинг источников об уязвимостях и своевременное обновление зависимостей являются обязательными элементами жизненного цикла безопасной разработки.
Пока разработчики основной библиотеки работают над официальным исправлением, пользователям и интеграторам следует незамедлительно оценить свою инфраструктуру на предмет использования уязвимой версии "node-tesseract-ocr". Необходимо применить доступные компенсирующие меры и следить за обновлениями на официальной странице проекта. Игнорирование данной уязвимости может привести к серьёзным последствиям, включая утечку данных, шифрование информации вредоносным ПО (ransomware) и установку злоумышленниками постоянного доступа (persistence) к системе.
Ссылки
- https://bdu.fstec.ru/vul/2026-04940
- https://www.cve.org/CVERecord?id=CVE-2026-26832
- https://github.com/zapolnoch/node-tesseract-ocr
- https://github.com/zapolnoch/node-tesseract-ocr/blob/master/src/index.js
- https://github.com/zebbernCVE/CVE-2026-26832
- https://www.npmjs.com/package/node-tesseract-ocr