p PatchFirst

PatchFirst · Vulnerabilidades recientes

Vulnerabilidades de la pila Node.js · Página 35

Vulnerabilidades publicadas para Node.js en los últimos 30 días: 415. Incluidas en el catálogo KEV: 0.

Filtrar vulnerabilidades
Node.js

Alertas tempranas

Avisos recientes de vulnerabilidades procedentes de anuncios de fabricantes y noticias de seguridad. Estas alertas no cambian la puntuación de seguridad.

  1. node.js

    Sin corrección publicada

    Node.js: denegación de servicio

    Según GitHub Advisory Database, Node.js tiene una vulnerabilidad de denegación de servicio (CVE-2026-109932). No se especifican las versiones exactas afectadas. El mensaje no indica una versión corregida.

    Qué hacer ahora: Comprueba si hay una actualización de Node.js con la corrección e instálala.

    CVE-2026-109932

  2. node.js

    Sin corrección publicada

    Node.js: ejecución remota de código

    Según OpenNet, Node.js tiene una vulnerabilidad de ejecución remota de código (CVE-2026-111497). No se especifican las versiones exactas afectadas. El mensaje no indica una versión corregida.

    Qué hacer ahora: Comprueba si hay una actualización de Node.js con la corrección e instálala.

    CVE-2026-111497

Vulnerabilidades: 7772

  1. CVE-2026-84375

    Alta · CVSS 7.5EPSS 0,54%Corrección disponible

    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

    • Actualiza a 3.15.2
    • Actualiza a 4.3.2
    • Actualiza a 4.3.2+~4.0.9-1
    Publicación Actualización
  2. CVE-2026-84373

    Media · CVSS 5.9EPSS 0,53%Corrección disponible

    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

    • Actualiza a 4.1.11
    • Actualiza a 5.0.0-rc.2
    Publicación Actualización
  3. CVE-2026-75604

    Crítica · CVSS 9EPSS 2,1%Código de explotación públicoCorrección disponible

    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

    • Actualiza a 15.5.24
    • Actualiza a 16.3.3
    Publicación Actualización
  4. CVE-2026-84371

    Media · CVSS 5.4EPSS 0,3%Corrección disponible

    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

    • Actualiza a 2.17.7
    Publicación Actualización
  5. CVE-2026-84370

    Alta · CVSS 8.2EPSS 0,53%Corrección disponible

    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

    • Actualiza a 2.8.4
    • Actualiza a 3.3.5
    • Actualiza a 3.3.5+ds-1
    • Actualiza a 4.1.0
    Publicación Actualización
  6. CVE-2026-84369

    Media · CVSS 6.1EPSS 0,43%Corrección disponible

    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

    • Actualiza a 2.8.4
    • Actualiza a 3.3.5
    • Actualiza a 3.3.5+ds-1
    • Actualiza a 4.1.0
    Publicación Actualización
  7. CVE-2026-84368

    Baja · CVSS 3.7EPSS 0,39%Corrección disponible

    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

    • Actualiza a 17.13.6
    • Actualiza a 18.2.5
    Publicación Actualización
  8. CVE-2026-84367

    Baja · CVSS 3.7EPSS 0,39%Corrección disponible

    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

    • Actualiza a 17.13.5
    • Actualiza a 18.2.4
    Publicación Actualización
  9. CVE-2026-84365

    Media · CVSS 6.5EPSS 0,44%Corrección disponible

    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

    • Actualiza a 4.13.5
    Publicación Actualización
  10. CVE-2026-84364

    Media · CVSS 5.3EPSS 0,53%Corrección disponible

    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

    • Actualiza a 4.13.5
    Publicación Actualización
  11. CVE-2026-84363

    Media · CVSS 5.9EPSS 0,45%Corrección disponible

    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

    • Actualiza a 4.13.5
    Publicación Actualización
  12. GHSA-2rx9-3g3h-c2jv

    Alta · CVSS 7.1Corrección disponible

    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

    • Actualiza a 12.0.0-alpha.5
    Publicación Actualización
  13. GHSA-3f6p-5ww8-9rcr

    Alta · CVSS 8.2Corrección disponible

    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

    • Actualiza a 3.22.0
    Publicación Actualización
  14. CVE-2026-83619

    Alta · CVSS 8.7EPSS 0,52%Corrección disponible

    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

    • Actualiza a 0.8.15
    • Actualiza a 0.9.5-1
    Publicación Actualización
  15. CVE-2026-83618

    Alta · CVSS 8.7EPSS 0,57%Corrección disponible

    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

    • Actualiza a 0.9.12
    • Actualiza a 0.9.12-1
    Publicación Actualización
  16. CVE-2026-83617

    Alta · CVSS 8.7EPSS 0,57%Corrección disponible

    xmldom: requireWellFormed element/attribute name 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.11 until 0.9.12, the requireWellFormed: true element and attribute name checks use the anchored QName_exact expression produced by reg() in lib/grammar.js, which inherits the multiline flag. A name with a valid first line followed by U+000A, U+000D, U+2028, or U+2029 and breakout markup therefore passes validation and is emitted verbatim in element start and end tags or attribute names. This bypasses the strict-serialization checks introduced for the earlier element-name and attribute-name injection advisories, while the default

    • Actualiza a 0.9.12
    • Actualiza a 0.9.12-1
    Publicación Actualización
  17. CVE-2026-83616

    Alta · CVSS 8.7EPSS 0,61%Corrección disponible

    xmldom: Processing Instruction Target Injection Bypasses requireWellFormed

    xmldom is a pure JavaScript W3C standard-based (XML DOM Level 2 Core) DOMParser and XMLSerializer module. Prior to @xmldom/xmldom versions 0.8.15 and 0.9.12, and in xmldom version 0.6.0 and earlier, Document.createProcessingInstruction(target, data) in lib/dom.js accepts an unvalidated target, while the requireWellFormed: true serializer checks only for a colon and the reserved case-insensitive xml name on 0.9.x and performs no target check on 0.8.x. Because serialization emits <?target data?>, a target containing >, ?, whitespace, or another invalid XML-name character can break the processing-instruction boundary and inject XML structure. Th

    • Actualiza a 0.8.15
    • Actualiza a 0.9.12
    • Actualiza a 0.9.12-1
    Publicación Actualización
  18. CVE-2026-83615

    Alta · CVSS 8.7EPSS 0,59%Corrección disponible

    xmldom: Quadratic-memory consumption

    xmldom is a pure JavaScript W3C standard-based (XML DOM Level 2 Core) DOMParser and XMLSerializer module. Prior to @xmldom/xmldom versions 0.8.15 and 0.9.12, and in xmldom versions 0.1.5 through 0.6.0, appendElement in lib/sax.js uses _copy to clone the complete currentNSMap for each nested element that declares a new namespace prefix. Keeping every ancestor map live on the parse stack creates quadratic peak namespace-map storage, so a small highly compressible XML document can exhaust the process heap before application validation. This issue is fixed in @xmldom/xmldom versions 0.8.15 and 0.9.12; no fixed version is available for xmldom.

    • Actualiza a 0.8.15
    • Actualiza a 0.9.12
    • Actualiza a 0.9.12-1
    Publicación Actualización
  19. CVE-2026-83614

    Alta · CVSS 8.7EPSS 0,59%Corrección disponible

    xmldom: Quadratic-time parsing via the malformed-input recovery path — `parseElementStartPart` re-scan and `normalize()` adjacent-text merge

    xmldom is a pure JavaScript W3C standard-based (XML DOM Level 2 Core) DOMParser and XMLSerializer module. Prior to @xmldom/xmldom versions 0.8.15 and 0.9.12, and in xmldom versions 0.3.0 through 0.6.0, two independent quadratic paths can cause denial of service. In lib/sax.js, parseElementStartPart repeatedly rescans a malformed tag name to the next > during single-character recovery; in lib/dom.js, normalize() repeatedly removes and appends adjacent text nodes, causing quadratic reindexing and string rebuilding. The first path is reachable through default DOMParser.parseFromString() processing, while the second is also reachable through a di

    • Actualiza a 0.8.15
    • Actualiza a 0.9.12
    • Actualiza a 0.9.12-1
    Publicación Actualización
  20. CVE-2026-83613

    Alta · CVSS 8.7EPSS 0,6%Corrección disponible

    xmldom: Quadratic-time attribute deduplication

    xmldom is a pure JavaScript W3C standard-based (XML DOM Level 2 Core) DOMParser and XMLSerializer module. Prior to @xmldom/xmldom versions 0.8.15 and 0.9.12, and in xmldom version 0.6.0 and earlier, DOMHandler.startElement in lib/dom-parser.js inserts every parsed attribute through setAttributeNode, while NamedNodeMap.setNamedItem in lib/dom.js calls the linear getNamedItem or getNamedItemNS lookup for each insertion. A well-formed element with many distinct attributes therefore requires quadratic comparisons during DOMParser.parseFromString() and can stall a Node.js event loop before application validation. This issue is fixed in @xmldom/xml

    • Actualiza a 0.8.15
    • Actualiza a 0.9.12
    • Actualiza a 0.9.12-1
    Publicación Actualización

Comprueba tu servidor

Compara tu pila y las versiones instaladas con las bases actuales de vulnerabilidades.

Comprueba tu servidor →