Staging Environment: Content and features may be unstable or change without notice.
Search for packages
Package details: pkg:nuget/Moment.js@2.29.2
purl pkg:nuget/Moment.js@2.29.2
Next non-vulnerable version 2.29.4
Latest non-vulnerable version 2.29.4
Risk 4.0
Vulnerabilities affecting this package (1)
Vulnerability Summary Fixed by
VCID-ptd4-8f7f-hyg6
Aliases:
CVE-2022-31129
GHSA-wc69-rhjr-hc9g
Moment.js vulnerable to Inefficient Regular Expression Complexity ### Impact * using string-to-date parsing in moment (more specifically rfc2822 parsing, which is tried by default) has quadratic (N^2) complexity on specific inputs * noticeable slowdown is observed with inputs above 10k characters * users who pass user-provided strings without sanity length checks to moment constructor are vulnerable to (Re)DoS attacks ### Patches The problem is patched in 2.29.4, the patch can be applied to all affected versions with minimal tweaking. ### Workarounds In general, given the proliferation of ReDoS attacks, it makes sense to limit the length of the user input to something sane, like 200 characters or less. I haven't seen legitimate cases of date-time strings longer than that, so all moment users who do pass a user-originating string to constructor are encouraged to apply such a rudimentary filter, that would help with this but also most future ReDoS vulnerabilities. ### References There is an excellent writeup of the issue here: https://github.com/moment/moment/pull/6015#issuecomment-1152961973= ### Details The issue is rooted in the code that removes legacy comments (stuff inside parenthesis) from strings during rfc2822 parsing. `moment("(".repeat(500000))` will take a few minutes to process, which is unacceptable.
2.29.4
Affected by 0 other vulnerabilities.
Vulnerabilities fixed by this package (1)
Vulnerability Summary Aliases
VCID-kexn-gjxj-uudm Path Traversal: 'dir/../../filename' in moment.locale This vulnerability impacts npm (server) users of moment.js, especially if user provided locale string, eg `fr` is directly used to switch moment locale. CVE-2022-24785
GHSA-8hfj-j24r-96c4

Date Actor Action Vulnerability Source VulnerableCode Version
2026-04-16T22:05:13.705102+00:00 GitLab Importer Affected by VCID-ptd4-8f7f-hyg6 https://gitlab.com/gitlab-org/advisories-community/-/blob/main/nuget/Moment.js/CVE-2022-31129.yml 38.4.0
2026-04-16T21:44:11.717824+00:00 GitLab Importer Fixing VCID-kexn-gjxj-uudm https://gitlab.com/gitlab-org/advisories-community/-/blob/main/nuget/Moment.js/CVE-2022-24785.yml 38.4.0
2026-04-11T23:21:10.703768+00:00 GitLab Importer Affected by VCID-ptd4-8f7f-hyg6 https://gitlab.com/gitlab-org/advisories-community/-/blob/main/nuget/Moment.js/CVE-2022-31129.yml 38.3.0
2026-04-11T22:59:49.280482+00:00 GitLab Importer Fixing VCID-kexn-gjxj-uudm https://gitlab.com/gitlab-org/advisories-community/-/blob/main/nuget/Moment.js/CVE-2022-24785.yml 38.3.0
2026-04-02T23:28:05.722032+00:00 GitLab Importer Affected by VCID-ptd4-8f7f-hyg6 https://gitlab.com/gitlab-org/advisories-community/-/blob/main/nuget/Moment.js/CVE-2022-31129.yml 38.1.0
2026-04-02T23:08:28.435959+00:00 GitLab Importer Fixing VCID-kexn-gjxj-uudm https://gitlab.com/gitlab-org/advisories-community/-/blob/main/nuget/Moment.js/CVE-2022-24785.yml 38.1.0
2026-04-01T17:49:15.792033+00:00 GitLab Importer Affected by VCID-ptd4-8f7f-hyg6 https://gitlab.com/gitlab-org/advisories-community/-/blob/main/nuget/Moment.js/CVE-2022-31129.yml 38.0.0
2026-04-01T16:00:14.915060+00:00 GHSA Importer Fixing VCID-kexn-gjxj-uudm https://github.com/advisories/GHSA-8hfj-j24r-96c4 38.0.0
2026-04-01T13:05:11.575836+00:00 GithubOSV Importer Fixing VCID-kexn-gjxj-uudm https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2022/04/GHSA-8hfj-j24r-96c4/GHSA-8hfj-j24r-96c4.json 38.0.0
2026-04-01T12:49:47.419130+00:00 GitLab Importer Fixing VCID-kexn-gjxj-uudm https://gitlab.com/gitlab-org/advisories-community/-/blob/main/nuget/Moment.js/CVE-2022-24785.yml 38.0.0