Skip to content
OpenAdvisories
Medium · 6.5 CVE-2024-34712 EUVD-2024-1440GHSA-5h5v-hw44-f6gg

Oceanic allows unsanitized user input to lead to path traversal in URLs

Published May 14, 2024 · Updated Aug 2, 2024 · Assigned by GitHub_M

Description

Oceanic is a NodeJS library for interfacing with Discord. Prior to version 1.10.4, input to functions such as `Client.rest.channels.removeBan` is not url-encoded, resulting in specially crafted input such as `../../../channels/{id}` being normalized into the url `/api/v10/channels/{id}`, and deleting a channel rather than removing a ban. Version 1.10.4 fixes this issue. Some workarounds are available. One may sanitize user input, ensuring strings are valid for the purpose they are being used for. One may also encode input with `encodeURIComponent` before providing it to the library.

Affected products

VendorProductAffectedFixed
OceanicJS Oceanic < 1.10.4 —

Affected packages

EcosystemPackageAffectedFixedRecord
npm oceanic.js < 1.10.4 1.10.4 GHSA-5h5v-hw44-f6gg

References