Vulnerabilities

7 via 15 paths

Dependencies

185

Source

GitHub

Find, fix and prevent vulnerabilities in your code.

Severity
  • 1
  • 4
  • 2
Status
  • 7
  • 0
  • 0

critical severity
new

CRLF Injection

  • Vulnerable module: undici
  • Introduced through: discord.js@14.26.4

Detailed paths

  • Introduced through: slackonos@htilly/SlackONOS discord.js@14.26.4 undici@6.24.1
  • Introduced through: slackonos@htilly/SlackONOS discord.js@14.26.4 @discordjs/rest@2.6.1 undici@6.24.1
  • Introduced through: slackonos@htilly/SlackONOS discord.js@14.26.4 @discordjs/ws@1.2.3 @discordjs/rest@2.6.1 undici@6.24.1

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 in the parseSetCookie. An attacker can inject arbitrary HTTP headers by supplying specially crafted percent-encoded values in the Set-Cookie header, which are improperly decoded and then forwarded into response headers. This can enable actions such as session fixation, open redirect, or cache poisoning.

Note: This is only exploitable if the application parses Set-Cookie headers using the affected function and then forwards the parsed value into a response header without proper sanitization.

Workaround

This vulnerability can be mitigated by sanitizing the values returned by the affected cookie parsing functions to strip or reject CR, LF, NUL, ;, and = bytes before forwarding them into response headers.

Remediation

Upgrade undici to version 6.27.0, 7.28.0, 8.5.0 or higher.

References

high severity
new

Allocation of Resources Without Limits or Throttling

  • Vulnerable module: undici
  • Introduced through: discord.js@14.26.4

Detailed paths

  • Introduced through: slackonos@htilly/SlackONOS discord.js@14.26.4 undici@6.24.1
  • Introduced through: slackonos@htilly/SlackONOS discord.js@14.26.4 @discordjs/rest@2.6.1 undici@6.24.1
  • Introduced through: slackonos@htilly/SlackONOS discord.js@14.26.4 @discordjs/ws@1.2.3 @discordjs/rest@2.6.1 undici@6.24.1

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 handling of WebSocket message fragments. An attacker can cause unbounded memory growth and exhaust system resources by streaming a large number of small or empty continuation frames from a malicious WebSocket server.

Remediation

Upgrade undici to version 6.26.0, 7.28.0, 8.5.0 or higher.

References

high severity
new

Permissive List of Allowed Inputs

  • Vulnerable module: undici
  • Introduced through: discord.js@14.26.4

Detailed paths

  • Introduced through: slackonos@htilly/SlackONOS discord.js@14.26.4 undici@6.24.1
  • Introduced through: slackonos@htilly/SlackONOS discord.js@14.26.4 @discordjs/rest@2.6.1 undici@6.24.1
  • Introduced through: slackonos@htilly/SlackONOS discord.js@14.26.4 @discordjs/ws@1.2.3 @discordjs/rest@2.6.1 undici@6.24.1

Overview

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

Affected versions of this package are vulnerable to Permissive List of Allowed Inputs via permissive substring matching in the Set-Cookie attribute parsing. An attacker can weaken cookie SameSite enforcement by crafting a response with a non-standard SameSite value that is interpreted as a more permissive setting, potentially allowing cookies to be sent in cross-site requests.

Note: This is only exploitable if the application consumes Set-Cookie headers from server responses (for example via undici's fetch or proxy code paths) and then forwards or relies on the parsed sameSite attribute.

Workaround

This vulnerability can be mitigated by validating that the parsed sameSite attribute is exactly 'Strict', 'Lax', or 'None' (case-insensitive) before relying on or forwarding it.

Remediation

Upgrade undici to version 6.27.0, 7.28.0, 8.5.0 or higher.

References

high severity

Server-side Request Forgery (SSRF)

  • Vulnerable module: ip
  • Introduced through: sonos@1.14.3

Detailed paths

  • Introduced through: slackonos@htilly/SlackONOS sonos@1.14.3 ip@1.1.9

Overview

ip is a Node library.

Affected versions of this package are vulnerable to Server-side Request Forgery (SSRF) via the ip.isPublic() and ip.isPrivate() functions. An attacker can interact with internal network resources by supplying specially crafted IP address such as octal localhost format ("017700000001") that is incorrectly identified as public.

Note:

This issue exists because of an incomplete fix for CVE-2024-29415.

PoC

Test octal localhost bypass:

node -e "const ip=require('ip'); console.log('017700000001 bypass:', ip.isPublic('017700000001'));" - returns true

Remediation

There is no fixed version for ip.

References

high severity

Server-side Request Forgery (SSRF)

  • Vulnerable module: ip
  • Introduced through: sonos@1.14.3

Detailed paths

  • Introduced through: slackonos@htilly/SlackONOS sonos@1.14.3 ip@1.1.9

Overview

ip is a Node library.

Affected versions of this package are vulnerable to Server-side Request Forgery (SSRF) via the ip.isPublic() and ip.isPrivate() functions. An attacker can interact with internal network resources by supplying specially crafted IP address such as null route ("0") that is being incorrectly identified as public.

Note: This issue exists because of an incomplete fix for CVE-2024-29415.

Exploit is only possible if the application and operating system interpret connection attempts to 0 or 0.0.0.0 as connections to 127.0.0.1.

PoC

Test null route bypass:

node -e "const ip=require('ip'); console.log('0 bypass:', ip.isPublic('0'));" - returns true

Remediation

There is no fixed version for ip.

References

medium severity

Server-Side Request Forgery (SSRF)

  • Vulnerable module: ip
  • Introduced through: sonos@1.14.3

Detailed paths

  • Introduced through: slackonos@htilly/SlackONOS sonos@1.14.3 ip@1.1.9

Overview

ip is a Node library.

Affected versions of this package are vulnerable to Server-Side Request Forgery (SSRF) via the isPublic function, which identifies some private IP addresses as public addresses due to improper parsing of the input. An attacker can manipulate a system that uses isLoopback(), isPrivate() and isPublic functions to guard outgoing network requests to treat certain IP addresses as globally routable by supplying specially crafted IP addresses.

Note

This vulnerability derived from an incomplete fix for CVE-2023-42282

Remediation

There is no fixed version for ip.

References

medium severity
new

Time-of-check Time-of-use (TOCTOU) Race Condition

  • Vulnerable module: undici
  • Introduced through: discord.js@14.26.4

Detailed paths

  • Introduced through: slackonos@htilly/SlackONOS discord.js@14.26.4 undici@6.24.1
  • Introduced through: slackonos@htilly/SlackONOS discord.js@14.26.4 @discordjs/rest@2.6.1 undici@6.24.1
  • Introduced through: slackonos@htilly/SlackONOS discord.js@14.26.4 @discordjs/ws@1.2.3 @discordjs/rest@2.6.1 undici@6.24.1

Overview

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

Affected versions of this package are vulnerable to Time-of-check Time-of-use (TOCTOU) Race Condition in the HTTP/1.1 client when an attacker-controlled upstream server injects an unsolicited response onto an idle keep-alive socket after a request completes. An attacker can cause responses to be delivered to the wrong requests by sending crafted HTTP responses through a compromised or malicious upstream server.

Note: This is only exploitable if the upstream HTTP/1.1 server is attacker-controlled or compromised and keep-alive connection reuse is enabled.

Workaround

This vulnerability can be mitigated by disabling keep-alive connection reuse by setting keepAliveTimeout: 0 on the Client or Pool.

Remediation

Upgrade undici to version 6.27.0, 7.28.0, 8.5.0 or higher.

References