VDB
Sign up
MEDIUM5.9

GHSA-4p3w-j4w9-5jqw

moment vulnerable to Path Traversal via crafted non-string locale name

Quick fix

GHSA-4p3w-j4w9-5jqw — moment: upgrade to the fixed version with the command below.

npm install moment@2.31.0

Details

### Impact

moment before 2.31.0 is vulnerable to path traversal in `moment.locale()`. When an application passes a non-string, attacker-influenced value to `moment.locale()`, a specially crafted object can bypass the locale name validation and cause moment to load a file from an attacker-controlled path. This is a further bypass of the validation added in 2.29.2 for [CVE-2022-24785](https://github.com/moment/moment/security/advisories/GHSA-8hfj-j24r-96c4).

This affects server-side (npm) users only. Plain string input is not affected: the existing validation correctly rejects strings that contain path separators.

### Patches

This issue is patched in moment 2.31.0.

### Workarounds

Validate that any user-supplied input is a string before passing it to `moment.locale()`.

Are you affected?

Enter the version of the package you're using.

Affected packages

npm/moment
Introduced in: 2.29.2Fixed in: 2.31.0
Fixnpm install moment@2.31.0

References