Vulnerabilities

13 via 13 paths

Dependencies

136

Source

GitHub

Commit

64a8c671

Find, fix and prevent vulnerabilities in your code.

Severity
  • 5
  • 5
  • 3
Status
  • 13
  • 0
  • 0

high severity

Interpretation Conflict

  • Vulnerable module: fastify
  • Introduced through: fastify@4.29.1

Detailed paths

  • Introduced through: @aiswarm/api-graphql@aiswarm/api-graphql#64a8c671bbd79650897bd4fd2b9ce7b4d7ffa041 fastify@4.29.1
    Remediation: Upgrade to fastify@5.7.2.

Overview

fastify is an overhead web framework, for Node.js.

Affected versions of this package are vulnerable to Interpretation Conflict via the Content-Type header processing. An attacker can bypass body validation by appending a tab character (\t) and arbitrary content to the Content-Type header, causing the server to treat the body as the intended type without enforcing validation rules.

Note: This vulnerability affects all Fastify users who rely on Content-Type-based body validation schemas to enforce data integrity or security constraints.

Workaround

This vulnerability can be mitigated by implementing a custom onRequest hook to reject requests containing tab characters in the Content-Type header.

Remediation

Upgrade fastify to version 5.7.2 or higher.

References

high severity
new

Improper Handling of Highly Compressed Data (Data Amplification)

  • Vulnerable module: undici
  • Introduced through: mercurius@13.4.1

Detailed paths

  • Introduced through: @aiswarm/api-graphql@aiswarm/api-graphql#64a8c671bbd79650897bd4fd2b9ce7b4d7ffa041 mercurius@13.4.1 undici@5.28.3
    Remediation: Upgrade to mercurius@15.0.0.

Overview

undici is an An HTTP/1.1 client, written from scratch for Node.js

Affected versions of this package are vulnerable to Improper Handling of Highly Compressed Data (Data Amplification) in the PerMessageDeflate.decompress() method of the permessage-deflate extension. An attacker can cause excessive memory usage by sending specially crafted compressed WebSocket frames that decompress to a very large size, potentially leading to process crashes or unresponsiveness.

Remediation

Upgrade undici to version 6.24.0, 7.24.0 or higher.

References

high severity
new

Uncaught Exception

  • Vulnerable module: undici
  • Introduced through: mercurius@13.4.1

Detailed paths

  • Introduced through: @aiswarm/api-graphql@aiswarm/api-graphql#64a8c671bbd79650897bd4fd2b9ce7b4d7ffa041 mercurius@13.4.1 undici@5.28.3
    Remediation: Upgrade to mercurius@15.0.0.

Overview

undici is an An HTTP/1.1 client, written from scratch for Node.js

Affected versions of this package are vulnerable to Uncaught Exception through improper validation of the server_max_window_bits parameter in the permessage-deflate extension. An attacker can cause the process to terminate unexpectedly by sending a maliciously crafted value outside the valid range, which triggers an unhandled exception when the client attempts to create a zlib InflateRaw instance.

Remediation

Upgrade undici to version 6.24.0, 7.24.0 or higher.

References

high severity
new

Uncontrolled Recursion

  • Vulnerable module: mercurius
  • Introduced through: mercurius@13.4.1

Detailed paths

  • Introduced through: @aiswarm/api-graphql@aiswarm/api-graphql#64a8c671bbd79650897bd4fd2b9ce7b4d7ffa041 mercurius@13.4.1
    Remediation: Upgrade to mercurius@16.8.0.

Overview

mercurius is a GraphQL adapter for Fastify

Affected versions of this package are vulnerable to Uncontrolled Recursion in the subscription queries received over WebSocket connections. An attacker can bypass intended query depth restrictions by submitting deeply nested subscription queries via WebSocket, potentially causing excessive resource consumption and service disruption.

Remediation

Upgrade mercurius to version 16.8.0 or higher.

References

high severity

Insecure Randomness

  • Vulnerable module: undici
  • Introduced through: mercurius@13.4.1

Detailed paths

  • Introduced through: @aiswarm/api-graphql@aiswarm/api-graphql#64a8c671bbd79650897bd4fd2b9ce7b4d7ffa041 mercurius@13.4.1 undici@5.28.3
    Remediation: Upgrade to mercurius@14.1.0.

Overview

undici is an An HTTP/1.1 client, written from scratch for Node.js

Affected versions of this package are vulnerable to Insecure Randomness due to the use of Math.random(), an insufficiently random value generator, for boundary selection in multipart/form-data requests. An attacker can predict the boundary values and manipulate multipart requests by intercepting and analyzing multiple requests to deduce the random generator pattern.

Note:

This is only exploitable if multipart requests are sent to an attacker-controlled server.

Remediation

Upgrade undici to version 5.28.5, 6.21.1, 7.2.3 or higher.

References

medium severity
new

HTTP Request Smuggling

  • Vulnerable module: undici
  • Introduced through: mercurius@13.4.1

Detailed paths

  • Introduced through: @aiswarm/api-graphql@aiswarm/api-graphql#64a8c671bbd79650897bd4fd2b9ce7b4d7ffa041 mercurius@13.4.1 undici@5.28.3
    Remediation: Upgrade to mercurius@15.0.0.

Overview

undici is an An HTTP/1.1 client, written from scratch for Node.js

Affected versions of this package are vulnerable to HTTP Request Smuggling in the processHeader() while handling HTTP/1.1 requests containing duplicate Content-Length headers with differing casing. An attacker can bypass access controls, poison caches, hijack credentials, or cause service disruption by sending specially crafted HTTP requests that are interpreted inconsistently by proxies and backend servers.

Remediation

Upgrade undici to version 6.24.0, 7.24.0 or higher.

References

medium severity

Allocation of Resources Without Limits or Throttling

  • Vulnerable module: fastify
  • Introduced through: fastify@4.29.1

Detailed paths

  • Introduced through: @aiswarm/api-graphql@aiswarm/api-graphql#64a8c671bbd79650897bd4fd2b9ce7b4d7ffa041 fastify@4.29.1
    Remediation: Upgrade to fastify@5.7.3.

Overview

fastify is an overhead web framework, for Node.js.

Affected versions of this package are vulnerable to Allocation of Resources Without Limits or Throttling via the sendWebStream function. An attacker can cause excessive memory consumption by sending a slow or non-reading client request, leading to unbounded buffering and severe performance degradation or process crashes.

Note: Only applications that return a ReadableStream (or Response with a Web Stream body) via reply.send() are impacted

Workaround

This vulnerability can be mitigated by avoiding Fastify Web Streams in responses and instead using Node.js streams or buffered payloads.

Remediation

Upgrade fastify to version 5.7.3 or higher.

References

medium severity

Allocation of Resources Without Limits or Throttling

  • Vulnerable module: undici
  • Introduced through: mercurius@13.4.1

Detailed paths

  • Introduced through: @aiswarm/api-graphql@aiswarm/api-graphql#64a8c671bbd79650897bd4fd2b9ce7b4d7ffa041 mercurius@13.4.1 undici@5.28.3
    Remediation: Upgrade to mercurius@15.0.0.

Overview

undici is an An HTTP/1.1 client, written from scratch for Node.js

Affected versions of this package are vulnerable to Allocation of Resources Without Limits or Throttling via the decompression chain. An attacker can cause high CPU usage and excessive memory allocation by sending HTTP responses with a large number of chained compression steps in the Content-Encoding header.

Remediation

Upgrade undici to version 6.23.0, 7.18.2 or higher.

References

medium severity
new

Cross-site Request Forgery (CSRF)

  • Vulnerable module: mercurius
  • Introduced through: mercurius@13.4.1

Detailed paths

  • Introduced through: @aiswarm/api-graphql@aiswarm/api-graphql#64a8c671bbd79650897bd4fd2b9ce7b4d7ffa041 mercurius@13.4.1
    Remediation: Upgrade to mercurius@16.4.0.

Overview

mercurius is a GraphQL adapter for Fastify

Affected versions of this package are vulnerable to Cross-site Request Forgery (CSRF) due to incorrect parsing of the Content-Type header. An attacker can perform unauthorized actions on behalf of an authenticated user by sending specially crafted cross-origin requests that bypass CORS protections.

PoC

// Server-side Fastify setup
const Fastify = require('fastify');
const mercurius = require('mercurius');

const app = Fastify();
const schema = `
  type Query {
    hello(name: String): String
  }
`;

const resolvers = {
  Query: {
    hello: (_, { name }) => `Hello ${name || 'World'}!`
  }
};

app.register(mercurius, { schema, resolvers });

app.listen(3000, () => {
  console.log('Server listening on http://localhost:3000');
});

// Malicious client-side code
fetch('http://localhost:3000/graphql', {
  method: 'POST',
  body: JSON.stringify({ query: '{ hello(name: "attacker") }' }),
  headers: {
    'Content-Type': 'application/x-www-form-urlencoded'
  },
  credentials: 'include'
});

Remediation

Upgrade mercurius to version 16.4.0 or higher.

References

medium severity
new

CRLF Injection

  • Vulnerable module: undici
  • Introduced through: mercurius@13.4.1

Detailed paths

  • Introduced through: @aiswarm/api-graphql@aiswarm/api-graphql#64a8c671bbd79650897bd4fd2b9ce7b4d7ffa041 mercurius@13.4.1 undici@5.28.3
    Remediation: Upgrade to mercurius@15.0.0.

Overview

undici is an An HTTP/1.1 client, written from scratch for Node.js

Affected versions of this package are vulnerable to CRLF Injection via the upgrade option of the client.request() function. An attacker can inject malicious data into HTTP headers or prematurely terminate HTTP requests by sending specially crafted input, potentially leading to unauthorized information disclosure or bypassing of security controls.

Remediation

Upgrade undici to version 6.24.0, 7.24.0 or higher.

References

low severity

Improper Authorization

  • Vulnerable module: undici
  • Introduced through: mercurius@13.4.1

Detailed paths

  • Introduced through: @aiswarm/api-graphql@aiswarm/api-graphql#64a8c671bbd79650897bd4fd2b9ce7b4d7ffa041 mercurius@13.4.1 undici@5.28.3
    Remediation: Upgrade to mercurius@14.1.0.

Overview

undici is an An HTTP/1.1 client, written from scratch for Node.js

Affected versions of this package are vulnerable to Improper Authorization due to improper handling of Proxy-Authorization headers during cross-origin redirects in certain methods. An attacker can exploit this behavior by inducing a victim to make a request that triggers a cross-origin redirect, potentially leaking sensitive information contained in the Proxy-Authorization header.

Remediation

Upgrade undici to version 5.28.4, 6.11.1 or higher.

References

low severity

Improper Access Control

  • Vulnerable module: undici
  • Introduced through: mercurius@13.4.1

Detailed paths

  • Introduced through: @aiswarm/api-graphql@aiswarm/api-graphql#64a8c671bbd79650897bd4fd2b9ce7b4d7ffa041 mercurius@13.4.1 undici@5.28.3
    Remediation: Upgrade to mercurius@14.1.0.

Overview

undici is an An HTTP/1.1 client, written from scratch for Node.js

Affected versions of this package are vulnerable to Improper Access Control due to the integrity option passed to fetch(). An attacker can alter this option, allowing fetch() to accept requests as valid even if they have been tampered with.

Remediation

Upgrade undici to version 5.28.4, 6.11.1 or higher.

References

low severity

Missing Release of Memory after Effective Lifetime

  • Vulnerable module: undici
  • Introduced through: mercurius@13.4.1

Detailed paths

  • Introduced through: @aiswarm/api-graphql@aiswarm/api-graphql#64a8c671bbd79650897bd4fd2b9ce7b4d7ffa041 mercurius@13.4.1 undici@5.28.3
    Remediation: Upgrade to mercurius@14.1.0.

Overview

undici is an An HTTP/1.1 client, written from scratch for Node.js

Affected versions of this package are vulnerable to Missing Release of Memory after Effective Lifetime due to improper handling of invalid certificate data. An attacker can cause a memory leak by setting up a server with a bad certificate and inducing the application to repeatedly call a webhook-like system.

Remediation

Upgrade undici to version 5.29.0, 6.21.2, 7.5.0 or higher.

References