CVE catalog

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

[CVE catalog]

Severity
Medium · CVSS 5.9CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N
Published
Updated
Source
[NVD] · [CVE record]
EPSS
0.52% · Oct 25, 2026

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

Vulnerable and fixed packages

Distribution-reported package versions and fixes. These do not depend on matching against the OpenFactory package catalog.

DistributionPackageReleaseVersionStatus
Debiannode-momentsid2.31.0+ds1-1fixed
Debiannode-momentforky2.31.0+ds1-1fixed
Debiannode-momenttrixie2.29.4+ds-1vulnerable
Debiannode-momentbookworm2.29.4+ds-1vulnerable
NpmmomentNot reported2.31.0fixed

Fixed-version evidence

DistributionPackageTypeReleaseFixed versionUrgencyOriginBugs
Debiannode-momentsourcesid2.31.0+ds1-1not yet assignedNot reported[1148182]
Debiannode-momentsourceforky2.31.0+ds1-1not yet assignedNot reported[1148182]
Debiannode-momentsourcetrixie(unfixed)not yet assignedNot reported[1148182]
Debiannode-momentsourcebookworm(unfixed)not yet assignedNot reported[1148182]
NpmmomentnpmNot reported2.31.0Not reportedGHSA-4P3W-J4W9-5JQWNot reported

[Debian bug #1148182]

Notes

[trixie] node-moment: Minor issue [bookworm] node-moment: Minor issue, requires passing a complex object directly to moment.locale()

OpenFactory catalog packages

[Debian 12 (Bookworm)]

  • [libjs-moment]Affected

    Source package: [node-moment]

    Details (2)
    • 2.29.4+ds-1 · all · bookworm

      Affected

      nvd · node-moment · debian · bookworm; nvd · node-moment · debian · 12

    • 2.29.4+ds-1 · all · bookworm

      Affected

      nvd · node-moment · debian · bookworm; nvd · node-moment · debian · 12

  • [node-moment]Affected
    Details (2)
    • 2.29.4+ds-1 · all · bookworm

      Affected

      nvd · node-moment · debian · bookworm; nvd · node-moment · debian · 12

    • 2.29.4+ds-1 · all · bookworm

      Affected

      nvd · node-moment · debian · bookworm; nvd · node-moment · debian · 12

[Debian 13 (Trixie)]

  • [libjs-moment]Affected

    Source package: [node-moment]

    Details (2)
    • 2.29.4+ds-1 · all · trixie

      Affected

      nvd · node-moment · debian · 13

    • 2.29.4+ds-1 · all · trixie

      Affected

      nvd · node-moment · debian · 13

  • [node-moment]Affected
    Details (2)
    • 2.29.4+ds-1 · all · trixie

      Affected

      nvd · node-moment · debian · 13

    • 2.29.4+ds-1 · all · trixie

      Affected

      nvd · node-moment · debian · 13

Observed:

References