SEPTEMBER 17, 2026
Live Feed
Back to database
Case File

CVE-2026-17495

MEDIUM · CVSS 5.9 EPSS 0.36% Public Exploit

Source: NVD + CISA KEV + EPSS · Published 2026-09-15 · Last synced 2026-09-17

CyberRota Analysis

AI-Generated

Versions 2.29.2 to 2.30.1 of the moment JavaScript date library are vulnerable to a path traversal attack due to improper handling of non-string objects in the moment.locale() function. This flaw allows attackers to manipulate locale settings by injecting malicious path segments, primarily impacting npm server-side users who directly use unvalidated user input. Organizations using these versions should prioritize upgrading to moment 2.31.0 or later, or implement input validation to mitigate potential exploitation.

Public Exploit Signal

A public exploit, PoC, GitHub repository or Metasploit reference was detected for this CVE.

GitHub PoC Links

Note: these links are listed for security research and verification purposes only.

CVE
CVE-2026-17495
Severity
MEDIUM
CVSS
5.9
EPSS
0.36%
Java

Original NVD Description

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().