p PatchFirst

PatchFirst · Свежие уязвимости

Node.js: уязвимости стека · Страница 36

За последние 30 дней в Node.js опубликовано уязвимостей: 431; в каталоге KEV: 0.

Фильтры уязвимостей
Node.js

Ранние предупреждения

Свежие сообщения об уязвимостях из анонсов разработчиков и новостей безопасности. Предупреждения не меняют рейтинг защищённости.

  1. node.js

    Исправление не опубликовано

    Node.js: отказ в обслуживании

    По данным GitHub Advisory Database, в Node.js найдена уязвимость — отказ в обслуживании (CVE-2026-109932). Точные затронутые версии не указаны. Версия с исправлением в сообщении не указана.

    Что сделать сейчас: Проверьте, вышло ли обновление Node.js с исправлением, и установите его.

    CVE-2026-109932

  2. node.js

    Исправление не опубликовано

    Node.js: удалённое выполнение кода

    По данным OpenNet, в Node.js найдена уязвимость — удалённое выполнение кода (CVE-2026-111497). Точные затронутые версии не указаны. Версия с исправлением в сообщении не указана.

    Что сделать сейчас: Проверьте, вышло ли обновление Node.js с исправлением, и установите его.

    CVE-2026-111497

Уязвимостей: 7795

  1. CVE-2026-84292

    Высокий · CVSS 7.5EPSS 0,24%Есть исправление

    fast-uri vulnerable to authority injection via an unvalidated port in serialize

    fast-uri serializes the port component of a URI without validating it. When recomposing the authority, the userinfo and host components are escaped but the port is concatenated verbatim, so a port value that is not a sequence of digits can inject authority delimiters, demoting the intended host to userinfo and pointing the authority at an attacker-controlled host. Both fast-uri and Node's URL read the result back as the attacker's host with no error, so re-validating the built URI does not catch it. This affects applications that build URIs from parts and assign untrusted data to the port component through the serialize, normalize, or equal f

    • Обновитесь до 2.4.6
    • Обновитесь до 3.1.7
    • Обновитесь до 4.1.4
    • Обновитесь до 8.20.0~ds+~cs7.1.5-1
    Опубликовано Обновлено
  2. CVE-2026-82404

    Высокий · CVSS 8.3EPSS 0,68%Есть исправление

    TOON: Prototype pollution when decoding untrusted TOON input

    TOON is a compact, human-readable serialization of JSON data for LLM prompts. Prior to 2.3.1, decoding attacker-controlled TOON with a __proto__, constructor, or prototype key wrote through the object prototype chain instead of creating an own property, polluting Object.prototype for the runtime. In packages/toon/src/decode/expand.ts, the expandPaths: 'safe' path and insertPathSafe function made dotted keys such as a.__proto__.x the strongest vector, while plain nested objects, tabular rows, quoted keys, and streaming decode were also affected. The encoder also dropped own __proto__ properties and could invoke an inherited setter during norma

    • Обновитесь до 2.3.1
    Опубликовано Обновлено
  3. CVE-2026-84376

    Средний · CVSS 6.3EPSS 0,71%Есть исправление

    Astro: Authorization bypass from missing path-segment boundary check when stripping the configured base

    Astro is a web framework for content-driven websites. Prior to 7.2.4, Astro stripped a configured non-root base path from request pathnames using a string-prefix check without verifying a path-segment boundary. With base "/app", a request to "/appX/admin" resolved internally to the protected "/admin" route while middleware observed "/appX/admin" in context.url.pathname. In applications that authorize base-prefixed routes by inspecting context.url.pathname, an unauthenticated remote attacker could bypass pathname-based middleware authorization and reach protected routes. This issue is fixed in version 7.2.4.

    • Обновитесь до 7.2.4
    Опубликовано Обновлено
  4. GHSA-cp6q-959q-f8rh

    Средний · CVSS 6.4Есть исправление

    Tiptap: mergeAttributes() turns an own __proto__ key into inherited executable DOM attributes

    ## Summary `@tiptap/core`'s public `mergeAttributes()` helper uses ordinary bracket assignment on keys returned by `Object.entries()`. An own `__proto__` key from JSON therefore invokes the legacy prototype setter on the fresh merged object. The function returns an object whose prototype is attacker-controlled, while `Object.keys()` and ordinary own-property checks show no attacker attributes. When that result is used as a ProseMirror DOMOutputSpec attribute object, `prosemirror-model`'s `DOMSerializer.renderSpec()` enumerates it with `for...in` and applies inherited values with `setAttribute()`. In a browser proof, inherited `src` and `one

    • Обновитесь до 3.30.4
    Опубликовано Обновлено
  5. GHSA-p498-v437-472g

    Средний · CVSS 5.7Есть исправление

    humanfs: Recursive copy follows symlinked files and copies data from outside the source tree

    ### Summary `@humanfs/node` does not treat symlinks as a separate case during copy operations. A symlink placed inside an attacker-controlled source tree can make `copyAll()` read and copy the contents of any file readable by the process, even when that file is outside the directory being copied. ### Details The Node implementation exposes symlink state through `list()`, but `copyAll()` ignores it. During recursive copies, every non-directory entry is passed to `copy()`, which delegates to `fs.promises.copyFile()`. On Node, `copyFile()` dereferences symlinks. As a result, a symlink inside the copied tree is handled as if it were an ordina

    • Обновитесь до 0.16.8
    Опубликовано Обновлено
  6. CVE-2026-84375

    Высокий · CVSS 7.5EPSS 0,54%Есть исправление

    js-yaml: maxTotalMergeKeys does not limit CPU use for empty merge sources

    js-yaml is a JavaScript YAML parser and dumper. From 3.0.0 until 3.15.2, 4.3.2, and 5.4.1, maxTotalMergeKeys in lib/js-yaml/loader.js and lib/loader.js does not count empty mapping sources while processing the merge key <<. An attacker can alias a large sequence of empty mappings into many merge targets, causing O(N * K) processing while totalMergeKeys remains unchanged and the configured resource limit is never reached. A relatively small YAML document can therefore cause prolonged CPU consumption in applications that parse untrusted YAML, and merge processing is enabled by default on these release lines. In v3 & v4, merge is enabled by defa

    • Обновитесь до 3.15.2
    • Обновитесь до 4.3.2
    • Обновитесь до 4.3.2+~4.0.9-1
    Опубликовано Обновлено
  7. CVE-2026-84373

    Средний · CVSS 5.9EPSS 0,53%Есть исправление

    Vitest: Path Traversal / Arbitrary File Read via @vitest/mocker Redirect Mock

    Vitest is a testing framework powered by Vite. From 2.1.0 until 4.1.11 and 5.0.0-rc.2, the public mockerPlugin and standalone interceptorPlugin exports in packages/mocker/src/node/interceptorPlugin.ts register the vitest:interceptor:register handler on Vite's unauthenticated HMR WebSocket without validating redirect targets against the file-serving allowlist. The implementation processes event.redirect without enforcing server.fs.allow and server.fs.deny through isFileLoadingAllowed. A remote client that can reach an exposed development server can submit an opaque URL scheme preserving .. segments, causing join(server.config.root, redirectUrl

    • Обновитесь до 4.1.11
    • Обновитесь до 5.0.0-rc.2
    Опубликовано Обновлено
  8. CVE-2026-75604

    Критический · CVSS 9EPSS 2,1%Публичный эксплойтЕсть исправление

    Next.js: Unauthenticated Remote Code Execution on windows-hosted servers

    Next.js is a React framework for building full-stack web applications. From 13.4.0 until 15.5.24 and 16.3.3, Next.js applications using Pages Router or App Router without Cache Components on Windows-hosted servers do not consistently escape backslashes in route segments before constructing incremental-cache paths. In packages/next/src/shared/lib/router/utils/escape-path-delimiters.ts and packages/next/src/server/lib/incremental-cache/file-system-cache.ts, a remote request can supply encoded Windows path separators that traverse outside the intended cache root and expose private build data, including the server-reference-manifest encryption ke

    • Обновитесь до 15.5.24
    • Обновитесь до 16.3.3
    Опубликовано Обновлено
  9. CVE-2026-84371

    Средний · CVSS 5.4EPSS 0,3%Есть исправление

    ApostropheCMS: Stored XSS via SVG SMIL URI-list scheme-policy bypass

    ApostropheCMS is an open-source Node.js content management system, and sanitize-html provides a simple HTML sanitizer with a clear API. From version 1.9.0 until version 2.17.7, packages/sanitize-html/index.js validates an animation value attribute as one flat URL and does not recognize that attributeName selecting href or xlink:href gives the sibling values, from, to, or by attribute SVG SMIL URL semantics. In configurations that allow the animate, animateColor, animateMotion, animateTransform, or set elements, a values list can begin with a safe fragment and contain a later executable destination that survives allowedSchemesAppliedToAttribut

    • Обновитесь до 2.17.7
    Опубликовано Обновлено
  10. CVE-2026-84370

    Высокий · CVSS 8.2EPSS 0,53%Есть исправление

    SVGO: removeScripts allows executable links through namespace and control-character bypasses

    SVGO, short for SVG Optimizer, is a Node.js library and command-line application for optimizing SVG files. From version 1.0.0 until versions 2.8.4, 3.3.5, and 4.1.0, the opt-in removeScripts plugin, named removeScriptElement in versions 2 and 3, incompletely filters executable links in plugins/removeScripts.js and lib/svgo/tools.js. The plugin does not recognize namespace-prefixed SVG anchor elements such as svg:a with href or namespaced *:href values, and it does not remove ASCII tab, line-feed, or carriage-return characters before checking URL schemes. Browsers remove those characters before parsing a scheme, allowing an executable link to

    • Обновитесь до 2.8.4
    • Обновитесь до 3.3.5
    • Обновитесь до 3.3.5+ds-1
    • Обновитесь до 4.1.0
    Опубликовано Обновлено
  11. CVE-2026-84369

    Средний · CVSS 6.1EPSS 0,43%Есть исправление

    SVGO: removeScripts incompletely sanitizes executable HTML in SVG foreignObject elements

    SVGO, short for SVG Optimizer, is a Node.js library and command-line application for optimizing SVG files. From version 1.0.0 until versions 2.8.4, 3.3.5, and 4.1.0, the opt-in removeScripts plugin, named removeScriptElement in versions 2 and 3 and implemented in plugins/removeScripts.js, removes SVG and XHTML script elements but does not inspect executable HTML content inside SVG foreignObject elements. Event-handler attributes such as onload and onbeforetoggle, srcdoc documents, and executable URLs in the action, data, formaction, href, and src attributes can remain in attacker-controlled SVG input. When an application uses the plugin as it

    • Обновитесь до 2.8.4
    • Обновитесь до 3.3.5
    • Обновитесь до 3.3.5+ds-1
    • Обновитесь до 4.1.0
    Опубликовано Обновлено
  12. CVE-2026-84368

    Низкий · CVSS 3.7EPSS 0,39%Есть исправление

    joi: Prototype pollution via a `__proto__` language key in custom messages

    joi is a schema description language and data validator for JavaScript. From 16.0.0 until 17.13.6 and 18.2.5, the @hapi/joi package through 17.1.1 and the successor joi package contain prototype pollution in lib/messages.js, where exports.compile() and exports.merge() reuse inherited objects for attacker-controlled language keys supplied through messages(), message(), prefs({ messages }), Joi.extend({ messages }), or rule({ message }). A language key named __proto__ writes properties onto Object.prototype, and constructor writes to the Object function's static properties. A consuming application that gates on the presence of an inherited prop

    • Обновитесь до 17.13.6
    • Обновитесь до 18.2.5
    Опубликовано Обновлено
  13. CVE-2026-84367

    Низкий · CVSS 3.7EPSS 0,39%Есть исправление

    joi: object().rename() with a template target can set the validated object's prototype

    joi is a schema description language and data validator for JavaScript. From 16.0.0 until 17.13.5 and 18.2.4, joi's lib/types/keys.js internals.rename() implementation used by object().rename() permits a schema that renames keys with a regular-expression source and a Joi.expression() or Joi.x() target that interpolates the pattern's own match data, combined with { multiple: true }, to derive a target from an attacker-controlled input key. An attacker can send x-__proto__ with an object value, causing the target to render as __proto__ and set the prototype of the object returned by validate() instead of creating an own key. The global Object.p

    • Обновитесь до 17.13.5
    • Обновитесь до 18.2.4
    Опубликовано Обновлено
  14. CVE-2026-84365

    Средний · CVSS 6.5EPSS 0,44%Есть исправление

    Hono: Incomplete fix for CVE-2026-39408: `toSSG()` still writes files outside the output directory

    Hono is a Web application framework that provides support for any JavaScript runtime. From 4.12.12 until 4.13.5, the fix released for CVE-2026-39408 does not cover every traversal sequence, and toSSG() can still write files outside the configured output directory when a route parameter contains consecutive parent-directory segments. Static site generation builds each output path from the route path and values supplied through ssgParams, then verifies that the result stays inside the output directory using the same normalization routine that built the path. That routine does not fully collapse runs of consecutive parent-directory segments, all

    • Обновитесь до 4.13.5
    Опубликовано Обновлено
  15. CVE-2026-84364

    Средний · CVSS 5.3EPSS 0,53%Есть исправление

    Hono: Unbounded dot-notation nesting in `parseBody()` can cause memory exhaustion

    Hono is a Web application framework that provides support for any JavaScript runtime. Prior to 4.13.5, when parseBody() expands dot-separated form field names into nested objects with dot-notation parsing enabled, it does not limit the nesting depth or the total number of intermediate objects created. Empty segments are preserved, so one deeply dotted field name can encode one nesting level per byte, while a large number of shallowly dotted fields can create the same amplification across a request. A request body within a normal size limit can therefore allocate an object graph far larger than the request after the body has already been accep

    • Обновитесь до 4.13.5
    Опубликовано Обновлено
  16. CVE-2026-84363

    Средний · CVSS 5.9EPSS 0,45%Есть исправление

    Hono: Query parser reads parameters after the URL fragment, causing cache-key and proxy interpretation differentials

    Hono is a Web application framework that provides support for any JavaScript runtime. Prior to 4.13.5, Hono's query helpers treat a question mark after a literal hash fragment as the start of a query string, so the application can read request parameters that browsers, new URL(), reverse proxies, filtering rules, parameter allow and deny lists, access logging, request validation, and other middleware do not observe. The Cache Middleware removes the fragment when building its cache key, allowing a response influenced by parameters inside the fragment to be stored under a key that omits those parameters and later served to other users. This can

    • Обновитесь до 4.13.5
    Опубликовано Обновлено
  17. GHSA-2rx9-3g3h-c2jv

    Высокий · CVSS 7.1Есть исправление

    pnpm: pacquet trust-lockfile install can create dependency symlinks outside the project

    ## Summary A crafted lockfile alias could reach several install-time filesystem joins. With `--trust-lockfile` or a frozen lockfile, traversal segments could create links outside the intended project or `node_modules` boundary. This patch validates dependency names and every virtual-store slot before creating directories, links, bins, or hoisted entries. ## Security boundary - A shared safe-join helper rejects traversal, absolute, platform-specific, and reserved dependency names before filesystem materialization. - Direct and transitive dependency links, package links, bin destinations, and public/private hoist destinations use the same co

    • Обновитесь до 12.0.0-alpha.5
    Опубликовано Обновлено
  18. GHSA-3f6p-5ww8-9rcr

    Высокий · CVSS 8.2Есть исправление

    MySQL2: Auth Plugin Downgrade to mysql_clear_password Leaks Plaintext Credentials

    ## Summary A rogue MySQL server (or MITM) can force mysql2 to send credentials in **plaintext** by requesting an auth switch to `mysql_clear_password`. The driver complies without verifying that TLS is active. ## Details `mysql_clear_password` is registered as a default standard plugin in `lib/commands/auth_switch.js` (line 21). When a server sends an AuthSwitchRequest (0xFE) requesting `mysql_clear_password`, the driver executes it without checking for TLS. The plugin (`lib/auth_plugins/mysql_clear_password.js`) returns `Buffer.from(password + '\0')`. Note: `caching_sha2_password` plugin DOES check for SSL before sending cleartext (line

    • Обновитесь до 3.22.0
    Опубликовано Обновлено
  19. CVE-2026-83619

    Высокий · CVSS 8.7EPSS 0,52%Есть исправление

    xmldom: End-tag Whitespace-Trim Regex ReDoS — quadratic backtracking in the 0.8.x end-tag parser

    xmldom is a pure JavaScript W3C standard-based (XML DOM Level 2 Core) DOMParser and XMLSerializer module. From 0.7.0 until 0.8.15, the release-0.8.x parser in lib/sax.js trims captured end-tag names with the unanchored global expression /[ \t\n\r]+$/g. For an end tag containing a long whitespace run followed by a non-whitespace character, the expression retries from each possible starting position and backtracks quadratically before failing its end anchor. DOMParser.parseFromString() reaches the path under default options, allowing a small unauthenticated XML input to stall the Node.js event loop; the 0.9.x and unscoped npm lines do not conta

    • Обновитесь до 0.8.15
    • Обновитесь до 0.9.5-1
    Опубликовано Обновлено
  20. CVE-2026-83618

    Высокий · CVSS 8.7EPSS 0,57%Есть исправление

    xmldom: requireWellFormed DocType publicId/systemId validation is bypassable via an embedded line terminator

    xmldom is a pure JavaScript W3C standard-based (XML DOM Level 2 Core) DOMParser and XMLSerializer module. From 0.9.10 until 0.9.12, the requireWellFormed: true serializer validates DocumentType.publicId and DocumentType.systemId with PubidLiteral_match and SystemLiteral_match expressions produced by reg() in lib/grammar.js, which inherit the multiline flag. A complete valid literal on the first line can therefore satisfy the matcher while U+000A, U+000D, U+2028, or U+2029 and breakout markup remain in the emitted <!DOCTYPE ...> declaration. This bypasses the strict-serialization mitigation for the earlier DocumentType injection advisory; crea

    • Обновитесь до 0.9.12
    • Обновитесь до 0.9.12-1
    Опубликовано Обновлено

Проверьте свой сервер

Сопоставьте установленный стек и версии со свежими базами уязвимостей.

Проверьте свой сервер →