V
Сканер-ВС
ГлавнаяКаталогИсточникиCWECAPECATT&CKМеры защитыПродуктыВендорыДокументация
← Вернуться к списку
CanonicalДистрибутивubuntu

Nodejs

Уязвимости
210
Эксплуатируемые
1
Макс. CVSS
10
Макс. EPSS
0.99999

Распределение по критичности

Критический
11
Высокий
97
Средний
87
Низкий
13
Также сопоставлено как (исходные строки): nodejs

Топ уязвимостей

CVE-2026-21636Недостаток в модели разрешения Node.js позволяет соединениям Unix Domain Socket (UDS) обходить сетевые ограничения, когда «--разрешение включено». Даже без `--all-net-net входов, контролируемых злоумышленниками (такими как URL-адреса или опции socketPath) могут подключаться к произвольным локальным розеткам через net, tls или unddici/fetch. Это нарушает предполагаемую границу безопасности модели разрешения и обеспечивает доступ к привилегированным местным услугам, что потенциально может привести к эскалации привилегий, раскрытию данных или исполнению местного кода. * Проблема затрагивает пользователей модели разрешения Node.js на версии v25. В момент этой уязвимости сетевые разрешения (`-- пуск-net``) все еще находятся в экспериментальной фазе.
CVE-2023-39332Различные функции `node:fs` позволяют задавать пути как в виде строк, так и в виде объектов `Uint8Array`. В средах Node.js класс `Buffer` расширяет класс `Uint8Array`. Node.js предотвращает преодоление пути через строки (см. CVE-2023-30584) и объекты `Buffer` (см. CVE-2023-32004), но не через не-`Buffer` объекты `Uint8Array`. Это отличается от CVE-2023-32004, который относился только к объектам `Buffer`. Однако уязвимость следует той же схеме, используя `Uint8Array` вместо `Buffer`. Обратите внимание, что на момент выпуска CВE, модель разрешений является экспериментальной функцией Node.js.
CVE-2023-32002Использование `Module._load()` может обойти механизм политики и потребовать модули вне определения policy.json для данного модуля. Эта уязвимость затрагивает всех пользователей, использующих экспериментальный механизм политики во всех активных версиях: 16.x, 18.x и 20.x. Обратите внимание, что на момент выпуска этого CVE политика является экспериментальной функцией Node.js.
CVE-2021-3711Чтобы расшифровать данные, зашифрованные SM2, приложение должно вызвать функцию API EVP_PKEY_decrypt(). Обычно приложение вызывает эту функцию дважды. В первый раз, при входе, параметр "out" может быть NULL, а при выходе параметр "outlen" заполняется размером буфера, необходимым для хранения расшифрованного открытого текста. Затем приложение может выделить буфер достаточного размера и снова вызвать EVP_PKEY_decrypt(), но на этот раз передавая ненулевое значение для параметра "out". Ошибка в реализации кода расшифровки SM2 означает, что вычисление размера буфера, необходимого для хранения открытого текста, возвращаемого первым вызовом EVP_PKEY_decrypt(), может быть меньше фактического размера, необходимого для второго вызова. Это может привести к переполнению буфера, когда EVP_PKEY_decrypt() вызывается приложением во второй раз с буфером, который слишком мал. Злоумышленник, который может предоставить контент SM2 для расшифровки приложению, может вызвать переполнение буфера выбранными злоумышленником данными до максимума в 62 байта, изменяя содержимое других данных, хранящихся после буфера, возможно, изменяя поведение приложения или вызывая сбой приложения. Расположение буфера зависит от приложения, но обычно выделяется в куче. Исправлено в OpenSSL 1.1.1l (затронуты 1.1.1-1.1.1k).
CVE-2021-22930Node.js версий до 16.6.0, 14.17.4 и 12.22.4 уязвим для атаки use after free, когда злоумышленник может воспользоваться повреждением памяти, чтобы изменить поведение процесса.
CVE-2015-6764Функция BasicJsonStringifier::SerializeJSArray в json-stringifier.h в JSON stringifier в Google V8, используемая в Google Chrome до версии 47.0.2526.73, неправильно загружает элементы массива, что позволяет удаленным злоумышленникам вызывать отказ в обслуживании (выход за границы памяти) или, возможно, оказывать другое неуказанное воздействие через специально созданный код JavaScript.
CVE-2014-3741Функция printDirect в lib/printer.js в модуле node-printer 0.0.1 и более ранних версий для Node.js позволяет удаленным злоумышленникам выполнять произвольные команды через неуказанные символы в команде lpr.
CVE-2013-7381libnotify до версии 1.0.4 для Node.js позволяет удаленным злоумышленникам выполнять произвольные команды через неуказанные символы в вызове libnotify.notify.
CVE-2013-7380Плагин Etherpad Lite ep_imageconvert имеет уязвимость удаленной инъекции команд.
CVE-2013-7378scripts/email.coffee в модуле Hubot Scripts до версии 2.4.4 для Node.js позволяет удаленным злоумышленникам выполнять произвольные команды.
CVE-2025-55130Изъян в модели Node.js Permissions позволяет злоумышленникам обходить `--alow-fs-read` и `--alow-fs-write` ограничения, используя созданные относительные пути символов связи. Приковав каталоги и симбилий, сценарий, предоставленный только к текущему каталогу, может избежать допустимого пути и прочитать конфиденциальные файлы. Это нарушает ожидаемые гарантии изоляции и позволяет произвольно читать/писать файлы, что приводит к потенциальному системному компромиссу. Эта уязвимость затрагивает пользователей модели разрешений на Node.js v20, v22, v24 и v25.
CVE-2025-15467Выполнение произвольного кода в OpenSSL
CVE-2023-32004Уязвимость была обнаружена в Node.js версии 20, конкретно в экспериментальной модели разрешений. Этот недостаток связан с неправильной обработкой буферов в API файловой системы, что вызывает обход пути при проверке разрешений на файловую систему. Эта уязвимость затрагивает всех пользователей, использующих экспериментальную модель разрешений в Node.js 20. Обратите внимание, что на момент выпуска этого CVE модель разрешений является экспериментальной функцией Node.js.
CVE-2022-35255Слабая случайность в уязвимости WebCrypto keygen существует в Node.js 18 из-за изменения EntropySource() в SecretKeyGenTraits::DoKeyGen() в src/crypto/crypto_keygen.cc. С этим связаны две проблемы: 1) Он не проверяет возвращаемое значение, он предполагает, что EntropySource() всегда успешен, но он может (и иногда будет) терпеть неудачу. 2) Случайные данные, возвращаемые EntropySource(), могут быть недостаточно криптографически сильными и, следовательно, не пригодными в качестве материала для ключей.
CVE-2022-21824Из-за логики форматирования функции "console.table()" было небезопасно разрешать передачу пользовательского ввода в параметр "properties", одновременно передавая простой объект как минимум с одним свойством в качестве первого параметра, которым может быть "__proto__". Загрязнение прототипа имеет очень ограниченный контроль, поскольку позволяет присваивать только пустую строку числовым ключам прототипа объекта. Node.js >= 12.22.9, >= 14.18.3, >= 16.13.2 и >= 17.3.1 используют нулевой прототип для объекта, которому присваиваются эти свойства.
CVE-2024-36138Обход неполного исправления CVE-2024-27980, который возникает из-за неправильной обработки пакетных файлов со всеми возможными расширениями в Windows через child_process.spawn / child_process.spawnSync. Вредоносный аргумент командной строки может внедрить произвольные команды и добиться выполнения кода, даже если параметр shell не включен.
CVE-2024-27980Из-за неправильной обработки пакетных файлов в child_process.spawn / child_process.spawnSync вредоносный аргумент командной строки может внедрять произвольные команды и добиваться выполнения кода, даже если параметр shell не включен.
CVE-2024-21892На Linux Node.js игнорирует определенные переменные окружения, если они могли быть установлены непредоставленным пользователем, в то время как процесс работает с повышенными привилегиями, за исключением CAP_NET_BIND_SERVICE. Из-за ошибки в реализации этого исключения Node.js неправильно применяет это исключение, даже когда установлены определенные другие возможности. Это позволяет непредоставленным пользователям внедрять код, который наследует повышенные привилегии процесса.
CVE-2022-2274В выпуске OpenSSL 3.0.4 была представлена серьезная ошибка в реализации RSA для ЦП X86_64, поддерживающих инструкции AVX512IFMA. Эта проблема делает реализацию RSA с 2048-битными закрытыми ключами неправильной на таких машинах, и во время вычислений произойдет повреждение памяти. Как следствие повреждения памяти, злоумышленник может вызвать удаленное выполнение кода на машине, выполняющей вычисление. Эта проблема затрагивает SSL/TLS-серверы или другие серверы, использующие 2048-битные закрытые ключи RSA, работающие на машинах, поддерживающих инструкции AVX512IFMA архитектуры X86_64.
CVE-2020-8265Версии Node.js до 10.23.1, 12.20.1, 14.15.4, 15.5.1 уязвимы для ошибки use-after-free в своей реализации TLS. При записи в сокет с поддержкой TLS node::StreamBase::Write вызывает node::TLSWrap::DoWrite со свежевыделенным объектом WriteWrap в качестве первого аргумента. Если метод DoWrite не возвращает ошибку, этот объект передается обратно вызывающей стороне как часть структуры StreamWriteResult. Это может быть использовано для повреждения памяти, что приведет к отказу в обслуживании или, возможно, к другим эксплойтам.
CVE-2020-8174napi_get_value_string_*() допускает различные виды повреждения памяти в node < 10.21.0, 12.18.0 и < 14.4.0.
CVE-2018-12115Во всех версиях Node.js до 6.14.4, 8.11.4 и 10.9.0 при использовании кодировки UCS-2 (распознаваемой Node.js под именами `'ucs2'`, `'ucs-2'`, `'utf16le'` и `'utf-16le'`), `Buffer#write()` можно использовать для записи за пределами одного `Buffer`. Записи, начинающиеся со предпоследней позиции буфера, вызывают неправильный расчет максимальной длины записываемых входных байтов.
CVE-2014-9748Отказоустойчивая реализация uv_rwlock_t для Windows XP и Server 2003 в libuv до версии 1.7.4 неправильно предотвращает освобождение потоками блокировок других потоков, что позволяет злоумышленникам вызвать отказ в обслуживании (взаимную блокировку) или, возможно, оказать другое неуказанное воздействие, используя состояние гонки.
CVE-2013-7377Модуль codem-transcode до версии 0.5.0 для Node.js, когда включен ffprobe, позволяет удаленным злоумышленникам выполнять произвольные команды через POST-запрос к /probe.
CVE-2024-21896Модель разрешений защищает себя от атак перемещения по пути, вызывая path.resolve() для любых путей, заданных пользователем. Если путь должен обрабатываться как буфер, реализация использует Buffer.from(), чтобы получить буфер из результата path.resolve(). Путем изменения внутреннего устройства Buffer, а именно Buffer.prototype.utf8Write, приложение может изменить результат path.resolve(), что приводит к уязвимости перемещения по пути. Эта уязвимость затрагивает всех пользователей, использующих экспериментальную модель разрешений в Node.js 20 и Node.js 21. Обратите внимание, что на момент выдачи этой уязвимости модель разрешений является экспериментальной функцией Node.js.
Перейти к вендору →Открыть в каталоге с фильтром по продукту →