Skip to main content
MEDIUM

CVE-2026-17495

CVSS v3

5.9

MEDIUM

EPSS Score

0.4 %

exploit probability, as of 2026-10-19

CISA KEV

No

known exploited

Exploitation

—

SSVC status

Get an alert for each new CVE published for moment.

Set up CVE WatchFree account · no credit card

Affected and fixed versions

Packages from OSV.dev and products from the vendors' CSAF advisories.

version not verifiedVersions not verified: read as OSV.dev and the vendors publish them, not checked against each vendor's release list.

Packages

  • momentnpmfrom 2.29.2 · fixed in 2.31.0

Vendor advisories

  • CVE-2026-17495 Red Hat Product Security150 known affected

    moment: Moment: Path Traversal via crafted non-string input to locale function

    multicluster-engine/console-mce-rhel9 as a component of Multicluster Engine for Kubernetes · openshift-pipelines/pipelines-hub-ui-rhel8 as a component of OpenShift Pipelines · openshift-pipelines/pipelines-hub-ui-rhel9 as a component of OpenShift Pipelines

Full record on 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().

Technical details

CVSS v3 Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N
Published
2026-09-15
Last Modified
2026-09-15

Frequently asked questions

What is CVE-2026-17495?

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

Is CVE-2026-17495 actively exploited?

Active exploitation of CVE-2026-17495 has not been confirmed. Its EPSS score was 0.4% on 2026-10-19, the estimated probability of exploitation in the next 30 days.

What is the CVSS score for CVE-2026-17495?

CVE-2026-17495 has a CVSS v3 base score of 5.9 (MEDIUM severity), with vector string CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N.

Running moment? Hear about its next vulnerability

CVE Watch matches each new CVE to the vendors and products you list (vendor and product, not the version) and puts it in your alerts with its KEV and EPSS status.

Already have an account? Open CVE WatchNo credit card required · No monthly cap on website lookups · 250 API requests/month