CVE-2026-17495 - Medium Severity Vulnerability
Vulnerable Library - moment-2.30.1.tgz
Library home page: https://registry.npmjs.org/moment/-/moment-2.30.1.tgz
Sample Path to Dependency File: /ui/package.json
Path to vulnerable library: /ui/node_modules/.pnpm/moment@2.30.1/node_modules/moment/package.json
Dependency Hierarchy:
- shared-4.0.2.tgz (Root Library)
- ❌ moment-2.30.1.tgz (Vulnerable Library)
Found in base branch: master
Vulnerability Details
moment is a JavaScript date library for parsing, validating, manipulating, and formatting dates. In versions 2.29.2 through 2.30.1, a specially crafted non-string object passed to moment.locale() can bypass the locale-name path-traversal guard. The guard assumes the input is a string, so an object whose match() method satisfies the check while its toString() returns a traversal path reaches an internal require() call with attacker-controlled path segments. This is an incomplete fix for CVE-2022-24785 and primarily affects npm (server-side) users that pass user-provided input directly to moment.locale(). The issue is fixed in moment 2.31.0, and users should upgrade to 2.31.0 or later. As a workaround, validate that any user-supplied input is a string before passing it to moment.locale().
Publish Date: 2026-09-15
URL: CVE-2026-17495
CVSS 3 Score Details (5.9)
Base Score Metrics:
- Exploitability Metrics:
- Attack Vector: Network
- Attack Complexity: High
- Privileges Required: None
- User Interaction: None
- Scope: Unchanged
- Impact Metrics:
- Confidentiality Impact: None
- Integrity Impact: High
- Availability Impact: None
For more information on CVSS3 Scores, click here.
Suggested Fix
Type: Upgrade version
Release Date: 2026-09-15
Fix Resolution: moment - 2.31.0,https://github.com/moment/moment.git - 2.31.0
Step up your Open Source Security Game with Mend here
CVE-2026-17495 - Medium Severity Vulnerability
Library home page: https://registry.npmjs.org/moment/-/moment-2.30.1.tgz
Sample Path to Dependency File: /ui/package.json
Path to vulnerable library: /ui/node_modules/.pnpm/moment@2.30.1/node_modules/moment/package.json
Dependency Hierarchy:
Found in base branch: master
moment is a JavaScript date library for parsing, validating, manipulating, and formatting dates. In versions 2.29.2 through 2.30.1, a specially crafted non-string object passed to moment.locale() can bypass the locale-name path-traversal guard. The guard assumes the input is a string, so an object whose match() method satisfies the check while its toString() returns a traversal path reaches an internal require() call with attacker-controlled path segments. This is an incomplete fix for CVE-2022-24785 and primarily affects npm (server-side) users that pass user-provided input directly to moment.locale(). The issue is fixed in moment 2.31.0, and users should upgrade to 2.31.0 or later. As a workaround, validate that any user-supplied input is a string before passing it to moment.locale().
Publish Date: 2026-09-15
URL: CVE-2026-17495
Base Score Metrics:
- Exploitability Metrics:
- Attack Vector: Network
- Attack Complexity: High
- Privileges Required: None
- User Interaction: None
- Scope: Unchanged
- Impact Metrics:
- Confidentiality Impact: None
- Integrity Impact: High
- Availability Impact: None
For more information on CVSS3 Scores, click here.Type: Upgrade version
Release Date: 2026-09-15
Fix Resolution: moment - 2.31.0,https://github.com/moment/moment.git - 2.31.0
Step up your Open Source Security Game with Mend here